Skip to main content

Security Bootstrapping Solution for Resource-Constrained Devices
draft-sarikaya-core-sbootstrapping-04

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Replaced".
Authors Behcet Sarikaya , Yoshihiro Ohba , Robert Moskowitz , Zhen Cao , Robert Cragie
Last updated 2012-04-24
Replaced by draft-irtf-t2trg-security-setup-iot-devices
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-sarikaya-core-sbootstrapping-04
Core                                                         B. Sarikaya
Internet-Draft                                                Huawei USA
Intended status: Standards Track                                 Y. Ohba
Expires: October 26, 2012                                        Toshiba
                                                            R. Moskowitz
                                                Verizon Business Systems
                                                                  Z. Cao
                                                            China Mobile
                                                               R. Cragie
                                                Pacific Gas and Electric
                                                          April 24, 2012

    Security Bootstrapping Solution for Resource-Constrained Devices
                 draft-sarikaya-core-sbootstrapping-04

Abstract

   This document describes how to initially configure the network of
   resource constrained nodes securely, a.k.a., security bootstrapping.
   Bootstrapping architecture, communication channel and bootstrap
   security methods are described.  System level objectives for security
   bootstrapping are stated followed by the protocols that can be used.
   Bootstrapping solution is based on EAP-TLS authentication with the
   use of raw public keys used as certificates.

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 October 26, 2012.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Sarikaya, et al.        Expires October 26, 2012                [Page 1]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   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.

Sarikaya, et al.        Expires October 26, 2012                [Page 2]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Bootstrapping Architecture . . . . . . . . . . . . . . . . . .  4
     2.1.  Areas of Boostrapping  . . . . . . . . . . . . . . . . . .  4
     2.2.  Architecture . . . . . . . . . . . . . . . . . . . . . . .  6
   3.  Bootstrap Security Method  . . . . . . . . . . . . . . . . . .  7
     3.1.  None . . . . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.2.  Asymmetric with User Authentication, Followed by
           Symmetric  . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.3.  Asymmetric  with Certificate Authority, Followed by
           Symmetric  . . . . . . . . . . . . . . . . . . . . . . . .  7
     3.4.  Cryptographically Generated Address Based Address
           Ownership Verification . . . . . . . . . . . . . . . . . .  7
   4.  Secure Bootstrapping System Level Objectives . . . . . . . . .  8
   5.  Secure Bootstrapping Solution using Raw Public Keys  . . . . .  9
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 11
   8.  Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 11
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 12
     10.2. Informative References . . . . . . . . . . . . . . . . . . 13
   Appendix A.  Examples of Node Configuration  . . . . . . . . . . . 15
     A.1.  Smart Energy . . . . . . . . . . . . . . . . . . . . . . . 15
       A.1.1.  Initial Meter Installation . . . . . . . . . . . . . . 15
       A.1.2.  Home Expansions  . . . . . . . . . . . . . . . . . . . 15
     A.2.  Consumer Products  . . . . . . . . . . . . . . . . . . . . 16
       A.2.1.  Connecting DVD Remote to DVD Player  . . . . . . . . . 16
       A.2.2.  Adding a TV to a network with a DVD player and
               remote . . . . . . . . . . . . . . . . . . . . . . . . 16
       A.2.3.  Providing GPS Location Data  . . . . . . . . . . . . . 16
     A.3.  Commercial Building Automation . . . . . . . . . . . . . . 16
       A.3.1.  Light Installation . . . . . . . . . . . . . . . . . . 16
   Appendix B.  Example Exchanges . . . . . . . . . . . . . . . . . . 16
     B.1.  Smart Energy: Meter Manufacture  . . . . . . . . . . . . . 16
     B.2.  Smart Energy: Meter Installation . . . . . . . . . . . . . 16
     B.3.  Smart Energy: Home Expansion . . . . . . . . . . . . . . . 17
     B.4.  Consumer: Connecting DVD Remote to DVD Player  . . . . . . 17
     B.5.  Consumer: Adding a TV to a network with a DVD player
           and remote . . . . . . . . . . . . . . . . . . . . . . . . 18
   Appendix C.  EAP, PANA, HIP-DEX and 802.1X . . . . . . . . . . . . 20
     C.1.  EAP Authentication Framework . . . . . . . . . . . . . . . 20
     C.2.  PANA . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
     C.3.  HIP-DEX  . . . . . . . . . . . . . . . . . . . . . . . . . 23
     C.4.  802.1X . . . . . . . . . . . . . . . . . . . . . . . . . . 24
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26

Sarikaya, et al.        Expires October 26, 2012                [Page 3]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

1.  Introduction

   Bootstrapping is any processing required before the network can
   operate.  Typically this will require a number of settings to be
   transferred between nodes at all layers.  This could include anything
   from link-layer information (i.e., wireless channels, link-layer
   encryption keys) to application-layer information (i.e., network
   names, application encryption keys).

   Bootstrapping is complete when settings have been securely
   transferred prior to normal operation in the network.

   The bootstrapping problem is not specific to any MAC or PHY.  This
   problem exists across any two nodes which have no previous knowledge
   of each other.  In particular, this problem is complicated when the
   nodes are resource-constrained and may not have an advanced user
   interface.  The IETF is instrumental in defining standards which will
   be used by The Internet of Things (IOT).  Ensuring these standards
   can be used across nodes and networks requires some form of
   bootstrapping which any node can use.

   Existing standards will be used as much as possible in this document.
   The method proposed here should work across many different underlying
   layers.  It could be used to allow two nodes on the same physical
   network to join at the physical layer, or allow two nodes on an
   incompatible physical network to join at the IPv6 layer.

   The document continues in Section 2 on bootstrapping architecture, in
   Section 3 on allowable security methods in bootstrapping, in
   Section 4 on system level objectives of secure bootstrapping, and
   Section 5 on secure bootstrapping solution.  Appendix A is on
   examples of node configuration, Appendix B is on samples of exchanges
   during bootstrapping and Appendix C is on the protocols used to carry
   EAP in link layer/IP layer including HIP-DEX.

2.  Bootstrapping Architecture

2.1.  Areas of Boostrapping

   In order to provide a flexible architecture, the bootstrapping method
   is split into five distinct areas and two distinct phases.  The five
   areas are a 'user interface', 'bootstrap profile', 'security method',
   'bootstrap protocol', and the 'communications channel'.

   The phases are provisioning phase and bootstrapping phase.  In the
   provisioning phase, statically configured parameters (e.g.,
   certificates) needed for the bootstrapping phase is provisioned.  In

Sarikaya, et al.        Expires October 26, 2012                [Page 4]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   the bootstrapping phase, dynamically configured information is set up
   using the statically configured information provided in the
   provisioning phase.

   The user interface provides both user input and user output.  Simple
   nodes may only have a push-button and LED, more complex nodes may
   have a graphical display and keyboard.  The user interface (which
   could be implemented as network management software graphical user
   interface running at the remote end) provides interaction between the
   user and bootstrapping methods.  The user interface would be used
   during bootstrapping as an OOB channel.  It may also be used to
   specify bootstrapping policies.

   The user interface provides the interaction between the user and the
   bootstrap protocol.  The user interface will vary depending on the
   capabilities of the node.  Examples might include a push-button and
   LED on simple nodes, to full-blown graphical user interfaces.  Note
   that a 'bootstrapping tool' used to initially deploy a network is
   just a special user interface.  This allows a very uniform protocol
   in deployment and use of networks.

   User interface is out-of-scope and will not be further discussed.

   Two nodes communicate through some channel.  For our purposes this is
   split into the 'control channel' and 'data channel'.  The control
   channel is used for the bootstrap protocol, and the data channel is
   used during normal network operation.  A node may support multiple
   control or data channels.  When the control and data channels are the
   same, the bootstrapping is done In Band (IB).  When the control and
   data channels are different, the bootstrapping is performed Out Of
   Band (OOB).  An 802.15.4 network for instance would use an 802.15.4
   control channel for IB bootstrapping, but a control channel of
   perhaps IrDA or USB for OOB bootstrapping.

   The 'bootstrap profile', i.e. statically configured parameters during
   the provisioning phase, defines what information should be exchanged
   during the process.  A single node may run the protocol multiple
   times with different profiles.  If the user wishes to associate a new
   lightswitch, the protocol is first run with the '802.15.4 Wireless
   Profile', through which it learns the channel and PAN-ID.  The node
   then runs a 'Security Exchange Profile' to learn the needed
   encryption keys.  Finally it runs a 'Lightswitch Association Profile'
   through which it learns which light to associate with.

   An example of the 'bootstrap profile' attribute is the
   'administrative domain name'.  'Bootstrap profiles' are required to
   be modified when the corresponding administrative domains are
   changed, a.k.a. recommissioning.  In recommissioning, the domains are

Sarikaya, et al.        Expires October 26, 2012                [Page 5]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   administratively repartitioned and nodes are therefore
   recommissioned.

   The 'security method' defines supported security methods for
   bootstrapping.  The supported security methods will depend on the
   control channel and bootstrap profile.  In one node if the control
   channel is secure, then a simple clear-text security method is
   supported.  For example when a physical connection between two nodes
   is used, the control channel is considered secure.  However when the
   control channel is not secure, this clear-text security method is not
   supported.  The 'bootstrap profile' additionally defines allowed
   security methods.  Higher security nodes may outlaw ever performing a
   clear-text exchange, even if the control channel is deemed secure.

   The 'bootstrap protocol' defines the actual messages exchanged during
   bootstrapping.  The messages are used to transfer between nodes data,
   node information, and network state.  The selected security method
   runs on top of the control channel, such as EAP-GPSK etc.

2.2.  Architecture

   Security bootstrapping architecture is structured in a hierarchy of
   nodes going from the least resource constraint to the most resource
   constraint.  At the top there is a root node.  The root node is
   called Coordinator or Trust Center in Zigbee and 6LowPAN Border
   Router (6LBR) in 6LoWPAN ND.

   At the next level there are interior Routers.  Routers are able to
   run a routing protocol between other routers and the root.  Routers
   are called 6LowPAN Routers (6BR) in 6LoWPAN ND.

   At the lowest level there are the nodes.  The nodes do not run a
   routing protocol.  They can connect to the nearest router over a
   single radio link.  The nodes are called End Devices in Zigbee and
   hosts in 6LoWPAN ND.

   Routers first join the network as a node and go through security
   bootstrapping operations in order to create a Master Session Key
   (MSK).  Next, routers execute routing protocol, e.g.
   [I-D.ietf-roll-rpl] specific steps to create session keys with their
   neighbors and to establish upstream and downstream next hop parents.

   At each node hierarachy level described above, there are lower-layer
   and higher-layer protocols to bootstrap their ciphering keys, where
   the lower-layer refers to layers below IP layer including IEEE
   802.15.4 MAC layer and LoWPAN adaptation layer and the higher-layer
   refers to IP layer and the above.  In general, required bootstrapping
   procedures depend on the bootstrapping protocols to use.  Section

Sarikaya, et al.        Expires October 26, 2012                [Page 6]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   Section 5 describes the bootstrapping procedures where EAP
   (Extensible Authentication Protocol) [RFC3748] and other protocols
   are used as the bootstrapping protocols.

3.  Bootstrap Security Method

   The bootstrap security method defines allowable security methods.  A
   node may choose to support or use a subset of these methods.  This is
   NOT the security architecture used for the application, but only the
   security used during bootstrapping.  Typically some high-security
   method is used to generate a shared secret, which then switches to
   simplier symmetric encryption to secure the actual bootstrapping
   channel.  The techniques negotiated should take advantage of hardware
   resources available, such as hardware encryption accelerators on an
   end node.

3.1.  None

   This is the simplist security method.  No encryption or
   authentication is provided, messages are exchanged completely in
   clear-text.  It is assumed some other layer provides security, such
   as a physical connection between devices.

3.2.  Asymmetric with User Authentication, Followed by Symmetric

   A Diffie-Hellman style key exchange is used to generate a shared
   secret.  The authentication will be provided by the user, by
   confirming cryptographic signatures between two devices.  With the
   shared secret generated through the DH, some symmetric encryption is
   used to secure the actual bootstrapping channel.

3.3.  Asymmetric  with Certificate Authority, Followed by Symmetric

   Public key exchanges are used (aka: DH again), but with a Certificate
   Authority.  Once a shared secret exists, symmetric encryption is used
   to secure the actual bootstrapping channel.

3.4.  Cryptographically Generated Address Based Address Ownership
      Verification

   A node may generate the global unique address using different
   techniques other than the stateless address autoconfiguration.  For
   example, Cryptographically Generated Addresses (CGA) [RFC3972] is a
   type of global unique address that can be used to verify the address
   ownership.  When the node uses CGA, it MUST execute SeND protocol
   [RFC3971].  In a 6LOWPAN network, a modified 6LOWPAN ND Protocol
   [I-D.ietf-6lowpan-nd] must be executed between the node and the edge

Sarikaya, et al.        Expires October 26, 2012                [Page 7]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   router.

4.  Secure Bootstrapping System Level Objectives

   Authentication/ reauthentication: nodes joining the network MUST at
   the first place authenticate to the trust center.  In order to
   achieve secure multi-hop routing, the node MUST authenticate to its
   upstream and downstream neighbors.  A bootstrapping solution MUST
   support re-authentication of resource-constrained devices and re-
   keying of dynamically generated keys.

   Data Confidentiality: the data communication between two endpoints
   MAY be encrypted using the derived key, avoiding being eavesdropped
   by a non-trusted third part.

   Data Integrity: the data communication between two endpoints MUST NOT
   be altered by some intermediate nodes.  The nodes should be able to
   detect the non-integral data.

   Keys and key freshness: the keys used for data communication MUST
   have a lifetime, in order to keep their freshness.  A bootstrapping
   solution MUST support both symmetric and asymmetric key
   authentication.  If distribution of a key to be used for a resource-
   constrained device is required, a bootstrapping solution MUST support
   secure key distribution to prevent the key from eavesdropping,
   alternation and replay attacks.

   Multi domain support: A bootstrapping solution MUST be able to allow
   resource-constrained devices that may be subscribed to different
   administrative domains to be connected to the same access network at
   the same time.

   Multi domain support: A bootstrapping solution MUST be able to allow
   resource-constrained devices to be recommissioned.  Recommissioning a
   device is defined to be (1) an resource-constrained device is
   administratively switched to a different domain, or (2) acting a new
   role with a different function set, or (3) both administrative domain
   and function set are modified.

   Identities: A bootstrapping solution MUST be able to allow a
   resource-constrained device to use various types of identities used
   for authentication, including device identities, user identities or
   combinations of different types of identities.  Also a bootstrapping
   solution MUST be able to allow a resource-constrained device to
   change its identities used for authentication over time.

   Authentication infrastructure: A bootstrapping solution MUST be able

Sarikaya, et al.        Expires October 26, 2012                [Page 8]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   to operate with or without an authentication infrastructure.

5.  Secure Bootstrapping Solution using Raw Public Keys

   When a new resource-constrained device is deployed, it configures its
   global unique IPv6 address first.  This is done by 6LoWPAN Neighbor
   Discovery (6LoWPAN-ND)'s Router Solicitation/Router Advertisement
   message exchange [I-D.ietf-6lowpan-nd].  The newly generated IPv6
   address can not be used until the joining device is authenticated and
   securely joins the network.  After the authentication, the joining
   device receives the current group key of the network, so that the
   IPv6 registration and further communication can be protected by the
   link layer ciphering e.g. 802.15.4, then it can start using its
   global unique IPv6 address for communication.

   For authentication, Extensible Authentication Protocol (EAP) MUST be
   used.  EAP authentication framework is explained in Appendix C.1.

   The EAP method EAP-TLS [RFC5216] can be used for the resource-
   constrained device authentication.  Instead of X.509 certificates,
   raw public key of the device MUST be used.  EAP-TLS is executed
   between the joining device and the AAA server which acts as the
   Authentication Server (AS).  After a successful authentication, the
   device and the AAA server establish a Master Session Key (MSK), and
   then the AAA server exports the MSK to the authenticator.  Upon
   receipt of the MSK, the authenticator distributes the group key to
   the joining device within the authentication success message.  The
   group key is encrypted by a Key Encryption Key derived from the MSK.

   The resource-constrained device initiates the EAP authentication
   process by sending a message of initiation to the authenticator, i.e.
   the root node or 6LBR.  The root node requests the identity from the
   device.  The identity information includes the device's network
   access ID (NAI).  When the root node receives NAI of the device, it
   sends the identity information to the AS.

   The AS starts the EAP-TLS authentication process by sending a EAP-
   Request/TLS-Start to the device.  The device generates a client
   random number and responds with an EAP-Response/TLS-Client-Hello
   message which contains the TLS version, a client random number, a set
   of cipher suites.  Only one cipher suite MUST be offered in Client-
   Hello message with RC4-SHA1.

   The device MUST add an extension of type cert_type defined in
   [I-D.ietf-tls-oob-pubkey] to Client-Hello message.  This type MUST be
   set to RawPublicKey.

Sarikaya, et al.        Expires October 26, 2012                [Page 9]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   Upon receipt of Client Hello, if the AS supports raw public key
   extension, it generates a server random number, a new session ID, and
   includes only the SubjectPublicKeyInfo part of the certificate,
   rather than the whole certificate in the Certificate message and then
   sends them to the device with an EAP-Request/TLS-Server-Hello
   message.

   With the client and server random number, the device generates a
   pre_master_secret, then sends it in Client-Key-Exchange field of EAP-
   Response/TLS-Client-Finished message to the AS.

   The AS derives the Master Session Key (MSK) and replies with EAP-
   Request/TLS-Server-Finished message.  The SE device also derives the
   MSK after receiving the Server Finished and acknowledges with EAP-
   Response/EAP-TLS message.

   The AS then exports the MSK to the authenticator in RADIUS Access-
   Accept message, the authenticator subsequently sends the EAP-Success
   message to the SE device.  The AS MUST send the group key in this
   message and the EAP-TLS ends.

   When a device is not a direct neighbor of the authenticator, its
   parent node MUST act as relay.  Different EAP encapsulation protocols
   have different mechanisms for the relay function, for details, see
   Appendix C.

6.  Security Considerations

   When security bootstrapping resource constraint nodes is undertaken,
   several attacks are possible and security bootstrapping methods
   described in this document do not protect the nodes against such
   attacks.  These attacks are similar to the ones described in
   [RFC3971] and mainly stem from unsecured link layer.  Link layer must
   be secured on each node before the node can begin security
   bootstrapping.

   If a bootstrapping protocol does not rely on a pre-shared key for
   peer authentication, it must rely on an online or offline third-party
   (e.g., an authentication server, a key distribution center in
   Kerberos, a certification authority in PKI, a private key generator
   in ID-based cryptography and so on) to prevent man-in-the-middle
   attacks during peer authentication.  Depending on use cases, a
   resource-constrained device may not always have access to an online
   third-party for peer authentication.

   Depending on use cases, a bootstrapping protocol may deal with
   authorization separately from authentication in terms of timing and

Sarikaya, et al.        Expires October 26, 2012               [Page 10]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   signaling path.  For example, two resource-constrained devices A and
   B may perform mutual authentication using authentication credentials
   provided by an offline third-party X whereas resource-constrained
   device A obtains authorization for running a particular application
   with resource-constrained device B from an online third-party Y
   before or after the authentication.  In some use cases,
   authentication and authorization are tightly coupled, e.g.,
   successful authentication also means successful authorization.  A
   bootstrapping protocol supports various types of authentication and
   authorization or different bootstrapping protocols may be used for
   different types of authentication and authorization.

   If authorization information includes cryptographic keys, a special
   care must be taken for dealing with the keys, e.g., guidelines for
   AAA-based key management are described in [RFC4962].  A
   recommissioning use case may require revocation and re-installation
   of authentication credentials (i.e., a certificate or a shared secret
   and identity information, etc.) to a large number of resource-
   constrained devices that are already deployed.  Re-installation of
   authentication credentials must be as secure as the initial
   installation regardless of whether the re-installation is done
   manually or automatically.

   If resource-constrained devices use a multicast group key for peer
   authentication or message authentication or encryption, the group key
   must be securely distributed to the current members of the group for
   both initial key distribution and key update.  Protocols designed for
   group key management such as GSAKMP [RFC4535], GDOI [RFC3547] and
   MIKEY [RFC3830] may be used for group key distribution.
   Alternatively, key wrap attributes for securely encapsulating group
   key may be defined in network access authentication protocols such as
   PANA [RFC5191] and EAP-TTLSv0 [RFC5281].  Those protocols use an end-
   to-end, point-to-point communication channel with a pair-wise
   security association between a key distribution center and each key
   recipient.  Further considerations may be needed for more efficient
   group key management to support a large number of resource-
   constrained devices.

7.  IANA Considerations

   This memo includes no request to IANA.

8.  Contributors

   The people listed below have made significant text contributions to
   this document.

Sarikaya, et al.        Expires October 26, 2012               [Page 11]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   Colin O'Flynn

   colin.oflynn@atmel.com

9.  Acknowledgements

   Special thanks also to Rene Struik, Carsten Borman, Gary Yang, Alper
   Yegin and Tero Kivinen for their comments that helped us improve the
   writing.  Discussions with Hannes Tschofenig have been very
   inspiring.

10.  References

10.1.  Normative References

   [802.15.4]
              IEEE Std 802.15.4-2006, "Wireless Medium Access Control
              (MAC) and Physical Layer (PHY) Specifications for Low Rate
              Wireless Personal Area Networks (WPANs)", September 2006.

   [802.1x]   IEEE Std 802.1X-2010, "IEEE 802.1X Port-Based Network
              Access Control", February 2010.

   [I-D.ietf-tls-oob-pubkey]
              Wouters, P., Gilmore, J., Weiler, S., Kivinen, T., and H.
              Tschofenig, "TLS Out-of-Band Public Key Validation",
              draft-ietf-tls-oob-pubkey-02 (work in progress),
              March 2012.

   [RF4CE]    ZigBee Alliance, "Zigbee RF4CE Specification Version
              1.00", March 2009.

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

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

   [RFC4919]  Kushalnagar, N., Montenegro, G., and C. Schumacher, "IPv6
              over Low-Power Wireless Personal Area Networks (6LoWPANs):
              Overview, Assumptions, Problem Statement, and Goals",
              RFC 4919, August 2007.

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

Sarikaya, et al.        Expires October 26, 2012               [Page 12]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

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

   [RFC5216]  Simon, D., Aboba, B., and R. Hurst, "The EAP-TLS
              Authentication Protocol", RFC 5216, March 2008.

   [RFC5548]  Dohler, M., Watteyne, T., Winter, T., and D. Barthel,
              "Routing Requirements for Urban Low-Power and Lossy
              Networks", RFC 5548, May 2009.

   [RFC5673]  Pister, K., Thubert, P., Dwars, S., and T. Phinney,
              "Industrial Routing Requirements in Low-Power and Lossy
              Networks", RFC 5673, October 2009.

   [ROMER04]  Romer, K. and F. Mattern, "The design space of wireless
              sensor networks", IEEE Wireless Communications, vol. 11,
              no. 6, pp. 54-61, December 2004.

   [SE2.0]    ZigBee Alliance, "Smart Energy Profile 2.0 Technical
              Requirements Document", April 2010.

10.2.  Informative References

   [C1222]    American National Standard, "Protocol Specification For
              Interfacing to Data Communication Networks", ANSI C12.22-
              2008, 2008.

   [I-D.ietf-6lowpan-nd]
              Shelby, Z., Chakrabarti, S., and E. Nordmark, "Neighbor
              Discovery Optimization for Low Power and Lossy Networks
              (6LoWPAN)", draft-ietf-6lowpan-nd-18 (work in progress),
              October 2011.

   [I-D.ietf-core-coap]
              Shelby, Z., Hartke, K., Bormann, C., and B. Frank,
              "Constrained Application Protocol (CoAP)",
              draft-ietf-core-coap-09 (work in progress), March 2012.

   [I-D.ietf-roll-rpl]
              Brandt, A., Vasseur, J., Hui, J., Pister, K., Thubert, P.,
              Levis, P., Struik, R., Kelsey, R., Clausen, T., and T.
              Winter, "RPL: IPv6 Routing Protocol for Low power and
              Lossy Networks", draft-ietf-roll-rpl-19 (work in
              progress), March 2011.

   [I-D.moskowitz-hip-rg-dex]
              Moskowitz, R., "HIP Diet EXchange (DEX)",
              draft-moskowitz-hip-rg-dex-05 (work in progress),
              March 2011.

Sarikaya, et al.        Expires October 26, 2012               [Page 13]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   [I-D.ohba-pana-keywrap]
              Cragie, R., Duffy, P., Ohba, Y., and A. Yegin, "Protocol
              for Carrying Authentication for Network Access (PANA)
              Extension for Key Wrap", draft-ohba-pana-keywrap-04 (work
              in progress), September 2011.

   [I-D.ohba-pana-relay]
              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), February 2011.

   [NISTIR7628VOL1]
              The Smart Grid Interoperability Panel -  Cyber Security
              Working Group, "Guidelines for Smart Grid Cyber Security:
              Vol. 1,  Smart Grid Cyber Security Strategy, Architecture,
              and High-Level Requirements", NISTIR 7628, vol. 1, 2010.

   [RFC3547]  Baugher, M., Weis, B., Hardjono, T., and H. Harney, "The
              Group Domain of Interpretation", RFC 3547, July 2003.

   [RFC3830]  Arkko, J., Carrara, E., Lindholm, F., Naslund, M., and K.
              Norrman, "MIKEY: Multimedia Internet KEYing", RFC 3830,
              August 2004.

   [RFC3971]  Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
              Neighbor Discovery (SEND)", RFC 3971, March 2005.

   [RFC3972]  Aura, T., "Cryptographically Generated Addresses (CGA)",
              RFC 3972, March 2005.

   [RFC4279]  Eronen, P. and H. Tschofenig, "Pre-Shared Key Ciphersuites
              for Transport Layer Security (TLS)", RFC 4279,
              December 2005.

   [RFC4347]  Rescorla, E. and N. Modadugu, "Datagram Transport Layer
              Security", RFC 4347, April 2006.

   [RFC4423]  Moskowitz, R. and P. Nikander, "Host Identity Protocol
              (HIP) Architecture", RFC 4423, May 2006.

   [RFC4535]  Harney, H., Meth, U., Colegrove, A., and G. Gross,
              "GSAKMP: Group Secure Association Key Management
              Protocol", RFC 4535, June 2006.

   [RFC4962]  Housley, R. and B. Aboba, "Guidance for Authentication,
              Authorization, and Accounting (AAA) Key Management",
              BCP 132, RFC 4962, July 2007.

Sarikaya, et al.        Expires October 26, 2012               [Page 14]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   [RFC5204]  Laganier, J. and L. Eggert, "Host Identity Protocol (HIP)
              Rendezvous Extension", RFC 5204, April 2008.

   [RFC5247]  Aboba, B., Simon, D., and P. Eronen, "Extensible
              Authentication Protocol (EAP) Key Management Framework",
              RFC 5247, August 2008.

   [RFC5281]  Funk, P. and S. Blake-Wilson, "Extensible Authentication
              Protocol Tunneled Transport Layer Security Authenticated
              Protocol Version 0 (EAP-TTLSv0)", RFC 5281, August 2008.

   [RFC5295]  Salowey, J., Dondeti, L., Narayanan, V., and M. Nakhjiri,
              "Specification for the Derivation of Root Keys from an
              Extended Master Session Key (EMSK)", RFC 5295,
              August 2008.

   [RFC5996]  Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen,
              "Internet Key Exchange Protocol Version 2 (IKEv2)",
              RFC 5996, September 2010.

Appendix A.  Examples of Node Configuration

   Before any detail on methods is explored, the following section will
   provide various examples this document could cover.  Exact
   requirements will be brought forward in subsequent sections.  For the
   reader's general understanding this section is placed to give an idea
   of an acceptable usage scenario.

A.1.  Smart Energy

A.1.1.  Initial Meter Installation

   The meter is initially loaded with code and network keys through a
   physical interface at the factory.  The meter is installed at a
   customers home, and configured by the installer through the backbone
   link (via GSM modem, etc).  Both operations can be performed through
   methods defined herein.

A.1.2.  Home Expansions

   The user wishes to join a thermostat onto the network.  They press a
   button on the thermostat, which enters join mode.  They press a
   button on the smart meter, which allows nodes to join the network.
   The devices both have displays, so they display a certain number
   which the user verifies match on both devices.  The thermostat has
   now securely joined the network.

Sarikaya, et al.        Expires October 26, 2012               [Page 15]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

A.2.  Consumer Products

A.2.1.  Connecting DVD Remote to DVD Player

   The user pushes a join button on the DVD remote and DVD player.  The
   devices find each other, and blink in unison to indicate to the user
   which two devices will join.  The user presses the button to confirm
   this, and the two devices are now joined together.

A.2.2.  Adding a TV to a network with a DVD player and remote

   The user then presses the join button on the DVD player and TV.  The
   devices again find each other and blink in unison, with the addition
   that the remote control also blinks to indicate it is present in the
   network.

A.2.3.  Providing GPS Location Data

   A user has a simple GPS receiver (that has no user interface) they
   wish to broadcast location data with.  The user switches on their
   camera, and enters a PIN from the base of the GPS.  The user can now
   view GPS information such as satellite health from their camera.  In
   addition photos are automatically tagged with location information.

A.3.  Commercial Building Automation

A.3.1.  Light Installation

   The electrician installs the light fixture.  Each light has a barcode
   printed on it.  They use a handheld barcode scanner tool, which acts
   as the commissioning tool.  When they scan a barcode with the tool,
   the tool asks the electrician to enter some additional information
   such as light fixture location.  The tool securely registers the
   light fixture on the network, along with setting parameters inside
   the light fixture.

Appendix B.  Example Exchanges

   The following details how the protocol handles certain conditions and
   situations through examples.  Note that each example is a more
   detailed description of the examples in Appendix A.

B.1.  Smart Energy: Meter Manufacture

B.2.  Smart Energy: Meter Installation

Sarikaya, et al.        Expires October 26, 2012               [Page 16]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

B.3.  Smart Energy: Home Expansion

B.4.  Consumer: Connecting DVD Remote to DVD Player

                     Supported User Interface Profiles

             +----------------+------------+----------------+
             |     Profile    | DVD Player | Remote Control |
             +----------------+------------+----------------+
             |      none      |      Y     |        Y       |
             |     simple     |      Y     |        Y       |
             |    numerical   |      Y     |        N       |
             | alphanumerical |      Y     |        N       |
             |    Graphical   |      Y     |        N       |
             +----------------+------------+----------------+

                   Supported Bootstrap Transport Layers

                +----------+------------+----------------+
                |   Layer  | DVD Player | Remote Control |
                +----------+------------+----------------+
                | Physical |      Y     |        Y       |
                | 802.15.4 |      Y     |        Y       |
                |   IrDA   |      Y     |        N       |
                +----------+------------+----------------+

                        Supported Security Methods

            +------------------+------------+----------------+
            |      Method      | DVD Player | Remote Control |
            +------------------+------------+----------------+
            |       None       |      Y     |        Y       |
            |        EAP       |      Y     |        N       |
            | Asymmetric, User |      Y     |        Y       |
            |  Asymmetric, CA  |      Y     |        N       |
            +------------------+------------+----------------+

   The DVD player and remote control have a number of ways in which they
   could be joined together.  The remote control does not have any
   unique identifier printed on it, thus no pre-shared key can be
   identified.  This leaves either an unsecure joining method, or some
   asymmetric security method.

   The remote control has a button on it for 'join', as does the DVD
   player.  The user pushes the button on the DVD player, and then
   pushes the button on the remote control.  Based on the UI profile,
   this causes the following to occur:

Sarikaya, et al.        Expires October 26, 2012               [Page 17]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   o  DVD Player scans for existing network in advertise mode.  Finding
      none, it starts a new network and that network enters advertise
      mode.

   o  The DVD remote scans for a network, and then finds the DVD
      player's network.

   o  The devices generate a shared secret (ie: Diffie-Hellman), and
      both blink their LED in a unique pattern based on this shared
      secret.

   o  The user user confirms both devices are blinking the same pattern,
      as both LEDs are blinking in unison.

   o  The DVD player displays 'JOIN OK' on it's LCD panel.

B.5.  Consumer: Adding a TV to a network with a DVD player and remote

   This network will have three devices: a TV, a DVD Player, and a
   Remote Control.  The user will run the bootstrap protocol between the
   TV and Remote Control in this example, although it could also be run
   between the TV and DVD player.

                     Supported User Interface Profiles

                 +----------------+----+----------------+
                 |     Profile    | TV | Remote Control |
                 +----------------+----+----------------+
                 |      none      |  Y |        Y       |
                 |     simple     |  Y |        Y       |
                 |    numerical   |  Y |        N       |
                 | alphanumerical |  Y |        N       |
                 |    Graphical   |  Y |        N       |
                 +----------------+----+----------------+

                   Supported Bootstrap Transport Layers

                    +----------+----+----------------+
                    |   Layer  | TV | Remote Control |
                    +----------+----+----------------+
                    | Physical |  Y |        Y       |
                    | 802.15.4 |  Y |        Y       |
                    |   IrDA   |  Y |        N       |
                    +----------+----+----------------+

Sarikaya, et al.        Expires October 26, 2012               [Page 18]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

                        Supported Security Methods

                +------------------+----+----------------+
                |      Method      | TV | Remote Control |
                +------------------+----+----------------+
                |       None       |  Y |        Y       |
                |     EAP-GPSK     |  Y |        N       |
                | Asymmetric, User |  Y |        Y       |
                |  Asymmetric, CA  |  Y |        N       |
                +------------------+----+----------------+

   The TV and remote control have a number of ways in which they could
   be joined together.  The remote control does not have any unique
   identifier printed on it, thus no pre-shared key can be identified.
   This leaves either an unsecure joining method, or some asymmetric
   security method.

   The remote control has a button on it for 'join', as does the TV.  In
   this example two sequence will be considered: where the TV button is
   pressed first, and where the remote control button is pressed first.

   If the TV join button is pressed first:

   o  TV scans for existing networks in advertise mode.  Finding none,
      it starts a new network and that network enters advertise mode.

   o  The remote scans for a network, and then finds the TV's network.

   o  The remote informs the TV it is on an existing network, and thus
      will require the TV to join this network.

   o  The devices generate a shared secret, and both blink their LED in
      a unique pattern.

   o  The DVD player in addition blinks, so the user is informed that if
      they confirm the join action the resulting network will have all
      three devices in it.

   o  The user confirms both devices are blinking the same pattern, as
      both LEDs are blinking in unison.

   o  The TV displays 'JOIN OK' onscreen, along with any information
      about the network it just joined.

   If the remote control join button is pressed first:

   o  Remote control scans for existing networks in advertise mode.
      Finding none, it advertises it's network.

Sarikaya, et al.        Expires October 26, 2012               [Page 19]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   o  The TV scans for a network, and then finds the remote control's
      network.

   o  The devices generate a shared secret, and both blink their LED in
      a unique pattern.

   o  The DVD player in addition blinks, so the user is informed that if
      they confirm the join action the resulting network will have all
      three devices in it.

   o  The user confirms both devices are blinking the same pattern, as
      both LEDs are blinking in unison.

   o  The TV displays 'JOIN OK' onscreen, along with any information
      about the network it just joined.

Appendix C.  EAP, PANA, HIP-DEX and 802.1X

C.1.  EAP Authentication Framework

   EAP is an authentication protocol that supports a number of
   authentication algorithms called EAP methods [RFC5247].  EAP messages
   can be transported in different layers: using 802.1X, EAP messages
   are carried in Layer 2 and using PANA in IP or Layer 3 between EAP
   peer and the authenticator.  EAP messages between the authenticator
   and authentication server are carried using AAA protocols (RADIUS or
   Diameter).  The associated AAA server address of each resource-
   constrained device is assigned by the domain administrator.  In the
   recommissioning case, another AAA server is reassigned to devices by
   the domain administrator if the device is switched to another domain.

   At the end of a successful EAP method execution a master session key
   (MSK) is generated at both the EAP peer and EAP server.
   Authenticator receives MSK from EAP server at the end of EAP method
   execution using key transport.  MSK is used in deriving a session key
   between the node and the authenticator using a protocol called secure
   association protocol (SAP).  Derivation of the session key terminates
   bootstrapping of a node.

   Additional keying material derived between EAP client and server that
   is exported by the EAP method is called Extended Master Session Key
   (EMSK).  EMSK is not used in session key derivation but it could be
   used for the needs of other applications in higher layer protocols.

   In the architecture introduced in Section 2.2 the node or router is
   the peer and the root is the authenticator.  When the supplicant and
   authenticator are one hop away the authenticator can be reached

Sarikaya, et al.        Expires October 26, 2012               [Page 20]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   directly.  However, this is rarely the case.  In other cases the
   authenticator authenticates neighboring supplicants first.  The
   router nodes that are authenticated become relay authenticators in
   the next phase and they relay authentication messages from the
   supplicants to the authenticator and vice versa.  This continues
   until all nodes are authenticated.

   EAP is a lock-step protocol, i.e. it executes in pairs of EAP-Request
   messages sent by the server and EAP-Response messages sent by the
   peer.  At the end, the server indicates the status of authentication,
   usually by EAP-Success message which also carries the MSK.  The first
   EAP-Request/Response pair is used for the server to request the
   identity and the peer to provide it.  In the other pairs of EAP
   exchanges EAP method is executed.

   Several EAP methods have been standardized each for different
   purposes.  To authenticate devices with certificates, EAP Transport
   Layer Security (TLS) v1.2 specified in [RFC5216] which supports
   certificate-based mutual authentication is used.

   Zigbee Alliance's Smart Energy Profile 2.0 Application Protocol
   Specification [SE2.0] mandates each device to be factory programmed
   with a certificate.  The certificate is bound to a unique network ID,
   e.g. the device's MAC address or EUI-64 address.  During EAP-Identity
   exchange the EAP peer provides its EUI-64 address as an identity to
   EAP server.  This enables the server to validate the device
   certificate.

   There are three bootstrapping scenarios using EAP.

   1.  Use of EAP for bootstrapping link-layer security.

       In this case, EAP is used for network access authentication to
       bootstrap link-layer ciphering.  Security for higher-layer (i.e.,
       IP layer and above) protocols is bootstrapped from an IB or OOB
       mechanism other than EAP.

   2.  Use of EAP for bootstrapping higher-layer security.

       In this case, EAP is used as an OOB mechanism for higher-layer
       authentication to bootstrap ciphering keys for one or more
       higher-layer protocols independently of network access
       authentication.  When bootstrapping Constrained Application
       Protocol (CoAP) security with DTLS protection, a PSK (Pre-Shared
       Key) credential in the combined usage of DTLS (Datagram Transport
       Layer Security) [RFC4347] and PSK mode of TLS [RFC4279] is
       derived from EAP key material and DTLS ciphering keys are
       generated as a result of a successful DTLS handshake.  Similarly,

Sarikaya, et al.        Expires October 26, 2012               [Page 21]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

       when bootstrapping CoAP security with IPsec ESP protection, a PSK
       credential of IKEv2 [RFC5996] is derived from EAP key material
       and IPsec ESP ciphering keys are generated as a result of a
       successful IKEv2 handshake.

       The ability to bootstrap multiple higher-layer protocols from a
       single execution of PANA authentication is important to save the
       computational resources for resource-constrained devices
       especially where public-key based authentication is used.

   3.  Use of EAP for bootstrapping both link-layer and higher-layer
       security.

       This case is the combination of the other two cases, and the most
       optimized way for bootstrapping resource-constrained devices.
       This case is only applicable where both the network access
       authentication and the higher-layer authentication use the same
       authentication server with the same authentication credentials.

   The second and third scenarios are generally referred to as Single
   Sign-On in Section 4.2.2.2 of [NISTIR7628VOL1], where the root keys
   for higher-layer protocols can be derived from EAP EMSK (Extended
   Master Session Key) as an USRK (Usage-Specific Root Key) [RFC5295].

C.2.  PANA

   PANA (Protocol for carrying Authentication for Network Access)
   [RFC5191] defines an EAP transport over UDP where a PANA Client (PaC)
   is an EAP peer and a PANA Authentication Agent (PAA) is an EAP
   authenticator.

   PANA can achieve the authentication, key freshness and data
   confidentiality objectives of security bootstrapping.

   Multi domain operation is intrinsically supported due to the use of
   EAP and AAA.

   Even though PANA architecture consisting of PaC, PAA and AAA Server
   is generic enough to be used in security bootstrapping, the
   architecture introduced in Section 2.2 requires a new element called
   PANA Relay Element (PRE).  PRE is needed to enable PANA messaging
   between a PaC and PAA because the two nodes cannot reach each other
   by means of regular IP routing since only a link-local IPv6 address
   can be used by PaC prior to the completion of a succesful
   authentication.

   PRE which is one hop away from PaC receives PANA messages and relays
   the message contents (payload) by encapsulating it in a message

Sarikaya, et al.        Expires October 26, 2012               [Page 22]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   parameter called Attribute Value Pair (AVP).  PRE also needs to send
   header contents such as PaC's IP address and UDP port number in a
   different AVP.  PRE has IP routing established with PAA which could
   be several hops away.  PAA sends its reply messages in which the
   payload is encapsulated in an AVP.  It also adds the AVP containing
   PaC's IP address and UDP port number.  PRE creates a link local PDU
   using these AVPs and sends it to PaC [I-D.ohba-pana-relay].

   The requirements for the use of PANA as a bootsrapping protocol can
   be stated as follows:

   o  A new entity called PANA Relay Element may be added to the PANA
      architecture.  Behaviour of PANA Relay Element needs to be
      defined.  New AVPs needed for PANA Relay Element operation for
      properly relaying messages from the client to the authenticator
      and vice versa are required to be specified.

   o  An extension to PANA to securely distribute keys from the PANA
      Authentication Agent to the PANA Client using AES Key Wrap with
      Padding algorithm needs to be defined.  This is needed in order to
      use PANA for multicast group key distribution.

C.3.  HIP-DEX

   [RFC4423] introduces the Host Identity Protocol (HIP) where the Host
   Identity (HI) is a Cryptographic key (RSA, DSA, or ECC).  A 128-bit
   length Host Identity Tag (HIT) is derived from the HI (hashed) and
   functions as an IPv6 address (/128 prefix) for applications.  A four-
   packet Peer-to-Peer Host Identity Protocol Base EXchange (HIP BEX)
   establishes a security association (SA, similar to IKE), indexed by
   the HITs, but independent of the IP address.  So HIP can be
   considered as a shim layer between the transport(TCP/UDP) and IP,
   providing authentication, data confidentiality, mobility in one
   basket.

   As with IKE, HIP is typically used as a Key Management Protocol (KMP)
   for ESP.  However, HIP is independent of IP and ESP and can be used
   for a KMP for any secure communication protocol at any level.  Thus
   HIP can provide keying material for the MAC, IP, and Transport
   layers.  HIP can be run directly over the MAC in an Ethernet Frame or
   within an Information Element in a MAC control frame.  HIP can be run
   over UDP, traversing firewalls, and push keys over to Transport
   security protocols like SRTP or (D)TLS.  Further, HIP could start on
   the MAC, then be enveloped over UDP after the first link.

   The HIP-BEX involves many crypto primitives that are difficult to run
   on constrained nodes.  HIP Diet Exchange (HIP-DEX)
   [I-D.moskowitz-hip-rg-dex] is a way to make HIP lightweight.

Sarikaya, et al.        Expires October 26, 2012               [Page 23]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   Basically, HIP-DEX a variant of the HIP-BEX specifically designed to
   use as few crypto primitives as possible yet still provide the same
   class of security features as HIP-BEX.

   HIP-DEX can be used for mutual authentication between two endpoints.
   After mutual authentication, the two endpints establish a shared
   secret, which is fresh and fed into the encryption algorithm for data
   confidentiality.  So HIP-DEX can achieve the authentication, key
   freshness and data confidentiality objectives of security
   bootstrapping.

   When a node wants to authenticate to the network using HIP and Diet-
   HIP, it should be able to complete the HIP-BEX or HIP-DEX with the
   trust anchor or some delegate.  In HIP, it does not matter how many
   domains, and nodes can authenticate each other as long as they have
   the secret.

   In the architecture introduced in Section 2.2 the node and router
   could be the HIP end-points.  Or the router could be a HIP Rendezvous
   Server, with the node registering to the rendezvous server (RVS)
   [RFC5204] to be reachable by other nodes.  Typically the initial
   interaction will have the node be the HIP DEX Initiator with the
   router being the Responder.  Using the RVS function on a Router any
   node could be the Initiator with any other Responder node.  As long
   as there is IP connectivity between the Initiator and Responder, they
   can be multiple hops away from each other.  Alternatively if the
   first hop from the Initiator has knowledge of the IP address of the
   Responder, it can act as a MAC/IP gateway for HIP.

   An important requirement for the HIP-DEX to work in the architecture,
   the initiator should be able to get the IP address of the responder
   or have a gateway function as a forwarder.  The IP address can be
   obtained from a 3rd party source like DNS of Distributed Hash Table
   (DHT), from local configuration, or from an RVS.

C.4.  802.1X

   IEEE 802.1X defines how EAP packets can be transported over in Layer
   2, i.e.  Ethernet frames [802.1x] by encapsulating EAP packets into
   EAP Over Lan (EAPOL) frames between EAP peer, called supplicant and
   the authenticator.  EAPOL can also be used in 802.11 wireless links.

   To enable IEEE 802.15.4 devices to use EAP authentication, EAP
   packets encapsulated in EAPOL frames can be carried as payload in
   802.15.4 data frames [802.15.4].  EAPOL is well defined and widely
   used and it lends itself to be easily carried in 802.15.4 data
   frames.  For this, Frame Type subfield of the Frame Control Field of
   IEEE 802.15.4 MAC header needs to be set to a special value to

Sarikaya, et al.        Expires October 26, 2012               [Page 24]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   indicate the type of the payload, i.e. 802.1X encapsulated EAP
   packets.  EAPOL packets are encoded following common EAPOL PDU
   structure defined in [802.1x] into the data payload field of 802.15.4
   data frames.

   Authentication proceeds as follows: authenticator authenticates the
   supplicants that are on the next hop first.  This enables a secure
   link between the authenticator and these first-hop nodes.  The
   architecture introduced in Section 2.2 requires a new entity called
   Relay Authenticator.  First-hop nodes or router become Relay
   Authenticators in the next phase of authentication.  Relay
   Authenticators tunnel EAPOL frames to the authenticator in the secure
   link established.  This way all the supplicants are gradually
   authenticated.

   After the keys are established from a successful EAP method (such as
   PSK mode of TLS), the node runs neighbor discovery protocol to get an
   IPv6 address assigned [I-D.ietf-6lowpan-nd].  Data transfer can be
   secured using DTLS or IPSec.  Keys derived from EAP TLS are used in
   either generating DTLS ciphering keys after a successful DTLS
   handshake or IPSec ESP ciphering keys after a successful IKEv2
   handshake.

   802.1X can achieve the authentication, key freshness and data
   confidentiality objectives of security bootstrapping.

   Multi domain operation is intrinsically supported due to the use of
   EAP and AAA.  In order to support a device recommissioning case
   whereby the device's administrative domain is modified, after a new
   AAA server address assigned and a successful 802.1X method execution,
   the old set of device 'name and password' MUST be overwritten into
   the device by a new set of 'name and password' that are assigned by
   the domain administrator.  The device MUST be rebooted to execute EAP
   method again for authentication and a new master session key MUST be
   generated.

   It should be noted that currently 802.15.4 does not allow
   multiplexing multiple protocols on the same link like ethernet does.
   However this might change in the future.

   The requirements for the use of 802.1X defined EAPOL as a
   bootsrapping protocol can be stated as follows:

   o  A special value in the Frame Type subfield of the Frame Control
      Field of IEEE 802.15.4 MAC header to indicate the type of the
      payload,

Sarikaya, et al.        Expires October 26, 2012               [Page 25]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   o  Link Layer Multicast Group addresses for 802.15.4 corresponding to
      EAPOL Group Address Assignments defined in Table 11.1 of [802.1x],
      especially to be used in EAPOL-Start packet.

   o  Which MAC frames of beacon, data, acknowledgment and MAC command
      as defined in [802.15.4] with what security levels are mapped to
      controlled port, which MAC frames with what security levels are
      mapped to uncontrolled port and which MAC frames are never mapped
      to any of controlled/uncontrolled port (i.e., the payload of those
      frames are used by the MAC-layer ieself and never used by upper
      layers).

   o  A new entity called Relay Authenticator may be added to the 802.1x
      architecture.  Behaviour of Relay Authenticator needs to be
      defined.

Authors' Addresses

   Behcet Sarikaya
   Huawei USA
   1700 Alma Dr. Suite 500
   Plano, TX  75075

   Email: sarikaya@ieee.org

   Yoshihiro Ohba
   Toshiba
   Tokyo, Japan

   Email: yoshihiro.ohba@toshiba.co.jp

   Robert Moskowitz
   Verizon Business Systems
   15210 Sutherland
   Oak Park, MI  48237

   Email: rgm@labs.htt-consult.com

   Zhen Cao
   China Mobile
   Beijing, China

   Email: caozhen@chinamobile.com

Sarikaya, et al.        Expires October 26, 2012               [Page 26]
Internet-Draft     draft-sarikaya-core-sbootstrapping         April 2012

   Robert Cragie
   Pacific Gas and Electric
   89 Greenfield Crescent
   Wakefield, UK  WF4 4WA

   Email: robert.cragie@gridmerge.com

Sarikaya, et al.        Expires October 26, 2012               [Page 27]