Internet DRAFT - draft-liu-t2trg-bootstrapping-survey

draft-liu-t2trg-bootstrapping-survey







Network Working Group                                             D. Liu
Internet-Draft                                                     Q. An
Intended status: Experimental                              Alibaba Group
Expires: May 4, 2017                                    October 31, 2016


                  Survey on Thing Secure Bootstrapping
                draft-liu-t2trg-bootstrapping-survey-00

Abstract

   This document presents a survey of secure bootstrapping mechanisms
   for Internet of Things (IoT) system.

Requirements Language

   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 RFC 2119 [RFC2119].

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 May 4, 2017.

Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   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



Liu & An                   Expires May 4, 2017                  [Page 1]

Internet-Draft         Secure Bootstrapping Survey          October 2016


   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.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Cloud Server Based Secure Bootstrapping . . . . . . . . . . .   2
   3.  Thread Commissioning  . . . . . . . . . . . . . . . . . . . .   5
   4.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   8
   7.  Normative References  . . . . . . . . . . . . . . . . . . . .   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8

1.  Introduction

   This document provides a guidance desgin for thing secure
   bootstrapping for Internet of Things (IoT) system.  It introduces
   third-party entity located in Internet into thing bootstrapping, to
   offer enhanced security.

2.  Cloud Server Based Secure Bootstrapping

   This section describes the cloud server based secure bootstrapping
   method for IoT

   Architecture for thing secure bootstrapping method is shown in figure
   1.






















Liu & An                   Expires May 4, 2017                  [Page 2]

Internet-Draft         Secure Bootstrapping Survey          October 2016


                          preamble to the figure.


                     +---------+
                     |  Cloud  |
                     |  Server |
                     +---------+
                          |
                          |
          +------------------------------+
          |       Group Owner            |
          +------------------------------+
                   |            |
       +-----------+            +----------+
       |                                   |
   +----------+                       +----------+
   |  Thing   |                       | User APP |
   +----------+                       +----------+

       Figure 1: Architecture for thing secure bootstrapping method

   The flow of thing secure bootstrapping method is shown in figure 2.

                          preamble to the figure.



























Liu & An                   Expires May 4, 2017                  [Page 3]

Internet-Draft         Secure Bootstrapping Survey          October 2016


    +----+         +----+        +------+       +-----+        +------+
    |User|         |User|        |Thing |       |Group|        |Cloud |
    |    |         |APP |        |      |       |Owner|        |Server|
    +----+         +----+        +------+       +-----+        +------+
      |1.Initiate     |              |             |               |
      |bootstrapping. |              |             |               |
      |User APP is in |              |             |               |
      |"Listen" mode  |              |             |               |
      |-------------->|              |             |               |
      |               |              |             |  2.Notify     |
      |               |              |             |    Server     |
      |               |--------------+-------------+-------------->|
      |               |              |             | 3.Create PSK  |
      |               |              |             | and send to   |
      |               |              |             | group owner   |
      |               |              |             |<--------------|
      |               |              |4.Broadcast  |               |
      |               |              |RandomKey    |               |
      |               |              |<------------|               |
      |5.Trigger thing|              |             |               |
      |into secure    |              |             |               |
      |bootsrapping   |              |             |               |
      |mode           |              |             |               |
      |---------------+------------->|             |               |
      |               |              |---+6.Scan   |               |
      |               |              |   |to get   |               |
      |               |              |<--+RandomKey|               |
      |               |              |             |               |
      |               |              |7.Func(PSK,  |               |
      |               |              |RandomKey)   |               |
      |               |              |------------>|               |
      |               |              |             |               |
      |               |              |8.Result of  |               |
      |               |              |bootstrapping|               |
      |               |              |<------------|               |
      |               |9.Result of   |             |               |
      |               |bootstrapping |             |               |
      |               |<-------------|             |               |
      |               |              |             |               |
      |10.If succeeds,|              |             |               |
      |notify server  |              |             |               |
      |---------------+--------------+-------------+-------------->|
      |               |              |             |               |



       Figure 2: Architecture for thing secure bootstrapping method




Liu & An                   Expires May 4, 2017                  [Page 4]

Internet-Draft         Secure Bootstrapping Survey          October 2016


   Premise of secure bootstrapping

   o  Group Owner can connect to Internet with server.

   o  User application has been binded with group owner.

   Func() in step 7 is used to calculate a value based on inputing
   RandomKey and PSK.  and is known by both thing and group owner.  The
   definion is out of this document's scope.

3.  Thread Commissioning

   This section descibes the secure bootstrapping method defined by
   Thread Group, "Thread Commissioning".

   Commissioning is the process whereby a user wants to get the Thread
   Device they have just bought onto their Thread Network.

   Term definition

   o  Commissioner: The currently elected authentication server for new
      Thread devices and the authorizer for providing the network
      credentials they require to join the network.  A device capable of
      being elected as a Commissioner is called a Commissioner
      Candidate.

   o  Joiner: The device to be added by a human administrator to a
      commissioned Thread Network.  This role requires a Thread
      interface to perform and cannot be combined with another role in
      one device.  The Joiner does not have network credentials.

   o  Joiner Router: An existing Thread router or REED (Router-Eligible
      End Device) on the secure Thread Network that is one radio hop
      away from the Joiner.

   o  Border Router: Any device capable of forwarding between a Thread
      Network and a non-Thread Network.

   The commissioning process has two phases

   o  Petitioning: The process of authenticating and authorizing a
      Commissioner Candidate onto the Thread Network through a
      representative (typically the Border Router).

   o  Joining: The process of authenticating and authorizing a Thread
      Device onto the Thread Network.





Liu & An                   Expires May 4, 2017                  [Page 5]

Internet-Draft         Secure Bootstrapping Survey          October 2016


   Petitioning must occur before any Joiner can join, that is, there
   must be one sole authorized Commissioner - the authenticator for
   subsequent Joiners

   There are four cases which are considered:

   External Commissioner is connected to the WLAN

   o  Border Router is not Joiner Router

   o  Border Router is Joiner Router

   Native Commissioner is connected to the Thread Network

   o  Joiner Router is not Commissioner

   o  Joiner Router is Commissioner

   The following takes the most complex case as an example to illustrate
   the commissioning process: External Commissioner is connected to the
   WLAN, and Border Router is not Joiner Router.

                          preamble to the figure.


    +------------+         +------+        +-------+       +------+
    |Commissioner|         |Board |        |Joiner |       |Joiner|
    |            |         |Router|        |Router |       |      |
    +------------+         +------+        +-------+       +------+
          |                    |              |               |
          |    WLAN            |    Thread    |    P2P        |
          |<------------------>|<------------>|<------------->|
          |                    |              |               |




   In this case, there are three separate and distinct paths the
   authentication traffic (the DTLS handshakes) has to go through:

   o  Joiner to Joiner Router point-to-point

   o  Joiner Router to Border Router through Thread Network

   o  Border Router to Commissioner through WLAN

   Joiner to Joiner Router Point-to-Point communication is over an
   unsecured, one-hop 802.15.4 radio link and all traffic between the



Liu & An                   Expires May 4, 2017                  [Page 6]

Internet-Draft         Secure Bootstrapping Survey          October 2016


   Joiner and Joiner Router will be sent in the clear without any form
   of integrity checking.  This fundamentally means the Joiner Router
   has to treat any traffic from the Joiner as completely
   unauthenticated.  Normally, the Thread Network would be in a "lock
   down" mode, which would cause any Thread Device on the perimeter to
   ignore any unsecured 802.15.4 traffic.  However, when joining is
   permitted, Joiner Routers should carefully police unsecured 802.15.4
   traffic and assume it to be authentication traffic.  The DTLS
   handshake will occur as initial communication being established
   between the Joiner and Joiner Router.  This uses UDP on a specific
   port, which allows it to be distinguished from other traffic.  A
   relay agent will police the incoming traffic and the Joiner Router
   will relay the DTLS client handshake along with address and port
   details of the Joiner and the Joiner Router itself to the Border
   Router.  The address and port details ensure relayed DTLS server
   handshake response messages can be relayed back through the Joiner
   Router to the originating Joiner.

   Joiner Router to Border Router through Thread Network communication
   is over the Thread Network, which will be secured hop-by-hop at the
   802.15.4 link layer.  It is assumed that there is connectivity over
   one or more hops between the Joiner Router and the Border Router.
   The Joiner Router will relay authentication traffic to and from the
   Border Router using relay messages carrying the DTLS handshake
   packets along with address and port details.

   Border Router to Commissioner through WLAN communication over the
   WLAN uses the existing secure Commissioning session set up between
   the Border Router and the Commissioner, maintained by Commissioning
   keep-alive notifications.  The Commissioning Relay receive and
   transmit messages are used to carry the DTLS Handshake to and from
   the Commissioner and the messages are secured at the DTLS record
   layer based on the secure Commissioning session.

   The steps of joining are:

   o  Joiner and Commissioner establish an end-t-end DTLS connection,
      and share a pair-wise key.

   o  Based on the established DTLS connection, Joiner starts the
      Joining request.

   o  After receiving the Joining request, COmmissioner sends the pair-
      wise key to Joiner Router.

   o  Using the pair-wise key, Joiner Router sends the commissioning
      parameters to Joiner.




Liu & An                   Expires May 4, 2017                  [Page 7]

Internet-Draft         Secure Bootstrapping Survey          October 2016


   o  After Joiner successfully joins Thread network, Joiner requests to
      close the DTLS connection with Commissioner.

4.  IANA Considerations

   This document makes no request of IANA.

5.  Security Considerations

   TBD

6.  Acknowledgements

   TBD

7.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

Authors' Addresses

   Dapeng Liu
   Alibaba Group
   Beijing
   Beijing

   Phone: +86-1391788933
   Email: maxpassion@gmail.com


   Qing An
   Alibaba Group
   Beijing
   Beijing

   Phone: +86-13810495624
   Email: anqing.aq@alibaba-inc.com











Liu & An                   Expires May 4, 2017                  [Page 8]