Internet DRAFT - draft-sarikaya-solace-setup-framework
draft-sarikaya-solace-setup-framework
Core B. Sarikaya
Internet-Draft Huawei USA
Intended status: Standards Track Y. Ohba
Expires: March 21, 2013 Toshiba
R. Moskowitz
Verizon Business Systems
Z. Cao
China Mobile
R. Cragie
Pacific Gas and Electric
September 17, 2012
Framework for Securely Setting Up Smart Objects
draft-sarikaya-solace-setup-framework-00
Abstract
This document describes a framework for initially configuring smart
objects securely. Initial setup architecture, communication channel
and bootstrap security methods are described.
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 March 21, 2013.
Copyright Notice
Copyright (c) 2012 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
Sarikaya, et al. Expires March 21, 2013 [Page 1]
Internet-Draft draft-sarikaya-solace September 2012
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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Bootstrapping Architecture . . . . . . . . . . . . . . . . . . 4
3.1. Areas of Boostrapping . . . . . . . . . . . . . . . . . . 4
3.2. Architecture . . . . . . . . . . . . . . . . . . . . . . . 5
4. Bootstrap Security Method . . . . . . . . . . . . . . . . . . 6
4.1. None . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.2. Asymmetric with User Authentication, Followed by
Symmetric . . . . . . . . . . . . . . . . . . . . . . . . 6
4.3. Asymmetric with Certificate Authority, Followed by
Symmetric . . . . . . . . . . . . . . . . . . . . . . . . 6
4.4. Cryptographically Generated Address Based Address
Ownership Verification . . . . . . . . . . . . . . . . . . 6
5. Secure Bootstrapping System Level Objectives . . . . . . . . . 7
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7. EAP, PANA, HIP-DEX and 802.1X . . . . . . . . . . . . . . . . 9
7.1. EAP Authentication Framework . . . . . . . . . . . . . . . 9
7.2. PANA . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7.3. HIP-DEX . . . . . . . . . . . . . . . . . . . . . . . . . 12
7.4. 802.1X . . . . . . . . . . . . . . . . . . . . . . . . . . 13
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15
10.1. Normative References . . . . . . . . . . . . . . . . . . . 15
10.2. Informative References . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 18
Sarikaya, et al. Expires March 21, 2013 [Page 2]
Internet-Draft draft-sarikaya-solace September 2012
1. Introduction
IP-based constrained devices in the Internet of Things (IOT) are
being used in Machine-to-Machine (M2M) applications ranging from
building automation to production environments to smart metering to
personal area networks (PAN). Constrained devices in these
applications may be very different "things" such as a temperature
sensor, a luminaire, or an RFID tag and might interact with each
other, with a smart phone, or with backend services. The
introduction of IPv6 and web services as fundamental building blocks
enables these devices to be networked and at the same time it
introduces security vulnarabilities [I-D.garcia-core-security].
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 the sensor nodes can use [ROMER04].
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 3 on bootstrapping architecture, in
Section 4 on allowable security methods in bootstrapping, in
Section 5 on system level objectives of securely setting up the
constrained nodes.
2. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
Sarikaya, et al. Expires March 21, 2013 [Page 3]
Internet-Draft draft-sarikaya-solace September 2012
document are to be interpreted as described in [RFC2119].
3. Bootstrapping Architecture
3.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
the bootstrapping phase, dynamically configured information is set up
using the statically configured information provided in the
provisioning phase.
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
administratively repartitioned and nodes are therefore
recommissioned.
The 'security method' defines supported security methods for
Sarikaya, et al. Expires March 21, 2013 [Page 4]
Internet-Draft draft-sarikaya-solace September 2012
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.
3.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. [RFC6550]
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.
Sarikaya, et al. Expires March 21, 2013 [Page 5]
Internet-Draft draft-sarikaya-solace September 2012
4. 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.
4.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.
4.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.
4.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.
4.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
router.
Sarikaya, et al. Expires March 21, 2013 [Page 6]
Internet-Draft draft-sarikaya-solace September 2012
5. 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
to operate with or without an authentication infrastructure.
Sarikaya, et al. Expires March 21, 2013 [Page 7]
Internet-Draft draft-sarikaya-solace September 2012
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
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
Sarikaya, et al. Expires March 21, 2013 [Page 8]
Internet-Draft draft-sarikaya-solace September 2012
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. EAP, PANA, HIP-DEX and 802.1X
7.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 3.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
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
Sarikaya, et al. Expires March 21, 2013 [Page 9]
Internet-Draft draft-sarikaya-solace September 2012
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,
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.
Sarikaya, et al. Expires March 21, 2013 [Page 10]
Internet-Draft draft-sarikaya-solace September 2012
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].
7.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 3.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
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
Sarikaya, et al. Expires March 21, 2013 [Page 11]
Internet-Draft draft-sarikaya-solace September 2012
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.
7.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.
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.
Sarikaya, et al. Expires March 21, 2013 [Page 12]
Internet-Draft draft-sarikaya-solace September 2012
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 3.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.
7.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
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.
Sarikaya, et al. Expires March 21, 2013 [Page 13]
Internet-Draft draft-sarikaya-solace September 2012
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 3.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,
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
Sarikaya, et al. Expires March 21, 2013 [Page 14]
Internet-Draft draft-sarikaya-solace September 2012
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.
8. IANA Considerations
This memo includes no request to IANA.
9. Acknowledgements
TBD.
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.
[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
Access (PANA)", RFC 5191, May 2008.
[RFC5216] Simon, D., Aboba, B., and R. Hurst, "The EAP-TLS
Authentication Protocol", RFC 5216, March 2008.
Sarikaya, et al. Expires March 21, 2013 [Page 15]
Internet-Draft draft-sarikaya-solace September 2012
[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.
10.2. Informative References
[802.1x] IEEE Std 802.1X-2010, "IEEE 802.1X Port-Based Network
Access Control", February 2010.
[I-D.garcia-core-security]
Garcia-Morchon, O., Keoh, S., Kumar, S., Hummen, R., and
R. Struik, "Security Considerations in the IP-based
Internet of Things", draft-garcia-core-security-04 (work
in progress), March 2012.
[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-21 (work in progress),
August 2012.
[I-D.moskowitz-hip-rg-dex]
Moskowitz, R., "HIP Diet EXchange (DEX)",
draft-moskowitz-hip-rg-dex-06 (work in progress),
May 2012.
[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.
Sarikaya, et al. Expires March 21, 2013 [Page 16]
Internet-Draft draft-sarikaya-solace September 2012
[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.
[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.
[RFC6550] Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R.,
Levis, P., Pister, K., Struik, R., Vasseur, JP., and R.
Alexander, "RPL: IPv6 Routing Protocol for Low-Power and
Lossy Networks", RFC 6550, March 2012.
Sarikaya, et al. Expires March 21, 2013 [Page 17]
Internet-Draft draft-sarikaya-solace September 2012
[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.
Authors' Addresses
Behcet Sarikaya
Huawei USA
5340 Legacy Dr.
Plano, TX 75024
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
Robert Cragie
Pacific Gas and Electric
89 Greenfield Crescent
Wakefield, UK WF4 4WA
Email: robert.cragie@gridmerge.com
Sarikaya, et al. Expires March 21, 2013 [Page 18]