Internet DRAFT - draft-raza-dice-compressed-dtls
draft-raza-dice-compressed-dtls
DICE Working Group S. Raza
Internet-Draft SICS, Stockholm
Intended Status: Standard Track H. Shafagh
ETH Zurich
O. Dupont
Cisco Systems, Paris
Expires: September 11, 2014 March 10, 2014
Compression of Record and Handshake Headers for Constrained Environments
draft-raza-dice-compressed-dtls-00
Abstract
This document describes header compression mechanisms for the
Datagram Transport Layer Security (DTLS) [RFC6347] based on the
encoding scheme standardized in [RFC6282]. The DTLS Record Header
(RH), Handshake Header (HH), and optionally handshake message headers
are compressed using Next Header Compression (NHC) defined in
[RFC6282]. This document neither invalidates any encoding schemes
proposed in 6LoWPAN [RFC6282] nor compromises the end-to-end security
properties provided by DTLS. This document aims to increase the
applicability of DTLS and, thus, CoAPs [draft-ietf-core-coap-18] in
constrained environments.
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 September 11, 2014.
Copyright and License Notice
Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved.
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 1]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Linking DTLS Header Compression with 6LoWPAN . . . . . . . . . 4
3. LOWPAN_NHC for the Record Header . . . . . . . . . . . . . . . 4
4. LOWPAN_NHC for the Record Plus Handshake Headers . . . . . . . 6
5. LOWPAN_NHC for the Handshake Messages . . . . . . . . . . . . . 7
6. Summary of DTLS header sizes with and without Compression . . . 10
7. Implementation Considerations . . . . . . . . . . . . . . . . . 10
8. Security Considerations . . . . . . . . . . . . . . . . . . . . 11
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 11
10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
11.1. Normative References . . . . . . . . . . . . . . . . . . . 12
11.2. Informative References . . . . . . . . . . . . . . . . . . 12
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 2]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
1 Introduction
To protect CoAP transmissions, Datagram TLS (DTLS) has been proposed
as the primary security protocol. Analogous to TLS-protected HTTP
(HTTPs), the DTLS-secured CoAP protocol is termed CoAPs. DTLS is a
chatty protocol and requires numerous message exchanges to establish
a secure session. While DTLS supports a wide range of cryptographic
primitives for peer authentication and payload protection, it was
originally designed for network scenarios where message length was
not a critical design criterion. Therefore, it is inefficient to use
the DTLS protocol, as it is, for constrained devices. To cope with
constrained resources and the size limitations of IEEE 802.15.4-based
networks, 6LoWPAN header compression mechanisms are defined.
[RFC6282] defines how IPv6 datagrams can be routed over IEEE 802.15.4
[IEEE802.15.4]-based networks. [RFC6282] defines header compression
schemes that can significantly reduce the size of IP, IP extensions,
and UDP headers. It is particularly beneficial to apply the 6LoWPAN
header compression mechanisms to compress other protocols having
well-defined header fields, such as DTLS. This document provides
header compression for the DTLS Record, Handshake, and handshake
messages headers with 6LoWPAN header compression mechanisms. This
enables the routing of heavy-weight IP traffic to resource-
constrained [IEEE802.15.4]-based wireless network.
The DTLS header compression defined in this documents does not
compromise the DTLS ability to provide end-to-end security between
constrained nodes and hosts on the Internet. The security in
[IEEE802.15.4]-based IP networks or what is more commonly known
6LoWPAN networks is particularly important as we connect the insecure
Internet with the vulnerable wireless network. The purpose of DTLS
header compression is twofold. First, achieving energy efficiency by
reducing the message size, since communication requires more energy
than computation. Second, avoiding 6LoWPAN fragmentation that is
applied when the size of a datagram is larger than the link layer
MTU. Avoiding fragmentation, whenever possible, is also important
from the security point of view as the 6LoWPAN protocol is vulnerable
to fragmentation attacks [WiSec13].
Generic Header Compression (GHC) [draft-bormann-6lowpan-ghc-06],
analogous to NHC, is also defined to allow upper layer (UDP payload
and above) header compression. 6LoWPAN-GHC is a generic compression
scheme for all headers and header-like structures, and is not
targeted for the DTLS protocol; also, it is generally a slightly less
efficient approach. It is an alternative to the approach presented in
this document and it is worth evaluating the two approaches for the
DTLS Record and Handshake headers.
1.1 Terminology
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 3]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2. Linking DTLS Header Compression with 6LoWPAN
[RFC6282] defines the general format of NHC that can be used to
encode DTLD headers. In order to apply 6LoWPAN header compression
mechanisms to compress headers in the UDP payload, we either require
a modification in the current NHC encodings for UDP in the 6LoWPAN
standard, or need to define a new NHC for UDP with different ID bits.
The first solution requires modification in the current standard and
hence is not a favorable solution. The second solution, that is used
in this document, is an extension to the 6LoWPAN standard; a similar
approach is adapted to distinguish NHC from GHC [draft-bormann-
6lowpan-ghc-06]. The ID bits 11110 in the NHC for UDP, as defined in
the 6LoWPAN standard, indicate that the UDP payload is not
compressed. We define the ID bits 11011 in the NHC for UDP to
indicate that the UDP payload is compressed with 6LoWPAN_NHC. The ID
bits 11011 are currently unassigned in the 6LoWPAN standard. Figure 1
shows our proposed NHC for UDP that allows compression of UDP
payload; in the case of DTLS, the UDP payload contains the NHC
compressed DTLS headers.
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| 1 | 1 | 0 | 1 | 1 | C | P |
+---+---+---+---+---+---+---+---+
Figure 1: 6LOWPAN_NHC for UDP which allows compression of UDP payload
3. LOWPAN_NHC for the Record Header
The Record protocol adds header fields of 13 bytes length to each
packet that is sent throughout the lifetime of a device that uses
DTLS. The header compression proposed in this section reduces the
Record header length to 4 bytes (plus one byte for the NHC). In
contrary to the handshake header and messages, the Record header
remains un-encrypted in all cases. Thus it can always be compressed
using the mechanism explained in this section.
In order to provide header compression for the Record and Handshake
headers, this document discusses two cases. In the first case, the
Record header fragment field contains a handshake message; the next
section defines header compression regarding this case. In the second
case, the fragment field in the Record header is not a handshake
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 4]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
message, it is mostly application data, or could be a DTLS alert
message or ChangeCipherSpec. Figure 2 shows 6LoWPAN_NHC encoding for
the Record header (LOWPAN_NHC_R).
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| 1 | 0 | 0 | 1 | V | EC| SN |
+---+---+---+---+---+---+---+---+
Figure 2: Proposed LOWPAN NHC encoding for the DTLS Record header
The encoded bits have the following functions:
o The first four bits in the NHC represent the NHC ID we define for
the Record header. These are set to 1001.
o Version (V): If 0, the version is the DTLS latest version which is
1.2, and the field is omitted. If 1, the version field is carried
inline.
o Epoch (EC): If 0, an 8 bit epoch is used and the left most 8 bits
are omitted. If 1, all 16 bits of the epoch are carried inline. In
most cases the actual epoch is either 0 or 1. Therefore, an 8 bit
epoch is used most of the time, allowing for a higher space.
o Sequence Number (SN): The sequence number consists of 48 bits, of
which some are leading zeros. If SN is set to 00, a 16 bit
sequence number is used and the left most 32 bits are omitted. If
01, a 24 bit sequence number is used and the left most 24 bits are
omitted. If 10, a 32 bit sequence number is used and the left most
16 bits are omitted. If 11, all 48 bits of the sequence number are
carried inline. The SN field in the Record header contains a value
1 for the first packet sent, and it is incremented sequentially
for the subsequent packets. Note that by using 16-bit sequence
number we do not limit the size of sequence number to 2^(16-1),
but propose to use 16 bits for the sequence number prior to the
transmission of the 2^16th packet on a DTLS connection. From the
2^16 to 2^(24-1) we propose to use 24-bit sequence numbers. Follow
the same procedure for the 32-bit sequence numbers as well.
However, the sender and the receiver sequence-number-counters must
be reset prior to sending the 2^48th packet.
In the Record header, content_type field is always carried inline.
The length field in the Record header is omitted as we expect only
one DTLS record per UDP packet in constrained environments. While a
source device inside a 6LoWPAN sends one DTLS record per UDP packet,
a typical destination device on the conventional Internet side may
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 5]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
send multiple DTLS records in a single UDP packet. However, as the
6BR performs the compression/decompression of incoming packets, there
is the possibility to enforce one DTLS record per UDP packet before
routing these packets in 6LoWPAN networks. The length field can be
deduced from the lower layers: either from the 6LoWPAN header or the
IEEE 802.15.4 header. Figure 3 shows a sample NHC compressed IP/UDP
packet secured with the Record protocol.
| octet 1 | octet 2 | octet 3 | octet 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LOWPAN_IPHC | Hop Limit | Source Address|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address| Destination Address | LOWPAN_NHC_UDP|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S Port |D Port | Checksum | LOWPAN_NHC_R |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Content Type | Epoch | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Initialization Vector (IV) [16 bytes for AES] +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Application Data Fragment (Variable Size) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
+ MAC (Variable Size) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | padding |Padding Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: A sample NHC compressed IP/UDP packet containing an
application data such as a CoAP message.
4. LOWPAN_NHC for the Record Plus Handshake Headers
In the case where the Record header fragment field contains a
handshake message, we compress both the Record header and the
Handshake header using a single encoding byte and define 6LoWPAN_NHC
for Record+Handshake (6LoWPAN_NHC_RH). The Handshake protocol
requires 12 bytes of the handshake header. Using the proposed
6LoWPAN_NHC_RH the handshake header length is reduced to 3 bytes.
Figure 4 shows 6LoWPAN NHC encoding for the Record+Handshake
headers.
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 6]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| 1 | 0 | 0 | 1 | V |EC |SN | F |
+---+---+---+---+---+---+---+---+
Figure 4: LOWPAN_NHC encoding for the DTLS Record plus Handshake headers
The encoded bits have the following functions:
o The first four bits represent the ID field that is used to
distinguish 6LoWPAN_NHC_RH from other encodings, and to comply
with 6LoWPAN_NHC encoding scheme. In case of 6LoWPAN_NHC_RHS we
set the ID bits to 1000.
o The Version (V) and Epoch (EC) are encoded using the same scheme
presented in Section 3.
o If SN is set to 0, a 16 bit sequence number is used and the left
most 32 bits are omitted. If 1, all 48 bits of the sequence number
are carried inline.
o Fragment (F): If 0, the handshake message is not fragmented and the
fields fragment_offset and fragment_length are omitted. This is
the common case, which occurs when a handshake message is not
larger than the maximum record size. If 1, the fields
fragment_offset and fragment_length are carried inline.
In contrary to the scheme defined in Section 3, the content_type
field is always omitted as it is obvious based on the ID bits that
the content type is the Handshake protocol. The message_type and
message_sequence fields of the Handshake header are always carried
inline. The length field in the Handshake headers is always omitted
as it can be deduced from the lower layers: either from the 6LoWPAN
header or the IEEE 802.15.4 header. We have to un-compress layer-wise
from lower to higher layers until the UDP header is uncompressed.
Then the length of the UDP payload is known and the DTLS payload
length can be calculated.
With this combined encoding scheme the 25 bytes of Record plus
Handshake headers are bring down to 6 bytes (plus one additional byte
for the 6LoWPAN_NHC_RH). Considering that a handshake process
consists of 10 messages, sending 18 less bytes for each message is a
very significant saving. This contributes to the feasibility of using
the chatty handshake protocol for constrained nodes.
5. LOWPAN_NHC for the Handshake Messages
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 7]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
The Handshake protocol consists of 10 messages, all having well-
defined headers. We can compress some of the handshake messages. Two
of the handshake messages with most number of header fields are
ClientHello and ServerHello. Using the 6LoWPAN_NHC for the
ClientHello message (6LoWPAN_NHC_CH) defined in this document, we can
omit all ClientHello fields except the random field. The minimum
possible size of a ClientHello message without the random field is 10
bytes: version (2), session_id length(1), cookie length (1),
cipher_suites length (2), cipher_suites (2), compression_methods
length (1), compression_methods (1). By appling 6LoWPAN_NHC_CH the
minimum possible size of a ClientHello message without a random field
is 1 byte that is used to encode 6LoWPAN_NHC_CH. This is the common
case when DTLS is used to secure CoAP messages. Figure 5 depicts the
NHC encoding for the ClientHello message.
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| 1 | 0 | 1 | 0 | SI| C |CS |CM |
+---+---+---+---+---+---+---+---+
Figure 5: LOWPAN_NHC encoding for the DTLS ClientHello Message
The function of each compressed header field is described below:
o The first four bits in the 6LoWPAN_NHC_CH represent the ID field
which are set to 1010.
o Session ID (SI) and Cookie (C): If 0, the session_id and/or cookie
fields are not available and these fields and 8 bits of the
prefixed length fields are omitted. In the (D)TLS protocol,
session_id is empty if no session is available, or if the client
wishes to generate new security parameters. The ClientHello
message uses session_id only if the DTLS client wants to resume
the old session. If SI or C is set to 1, the session_id and/or
cookie fields are carried inline.
o Cipher Suites (CS): If 0, the default (mandatory) cipher suite for
CoAP that supports automatic key management is used and this field
and the prefixed 16 bits length field are omitted. In the current
CoAP draft, TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 is a mandatory
cipher suite. If CS is set to 1, the cipher_suites field is
carried inline.
o Compression Methods (CM): If 0, the default compression method,
i.e., COMPRESSION_NULL is used and this field and the prefixed 8
bits length field are omitted. If CM is set to 1, the
compression_methods field is carried inline.
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 8]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
The random field in the ClientHello is always carried inline whereas
the version field is always omitted. The version contains the same
value as in the DTLS Record header. In case of TLS/SSL the version
field was defined to let a TLS client specify an older version to be
compatible with an SSL client, which is rarely used in practice. All
current versions of web browsers use the same TLS version in Record
and ClientHello. DTLS 1.2 (adapted from TLS 1.2) mentions that the
client sends its latest supported version in the ClientHello message.
All DTLS versions (1.0 and 1.2) have compatible ClientHello messages.
If the server does not support this version, then the ServerHello
message contains its supported version. If the client is not capable
of handling server's version, it terminates the connection with a
protocol version alert.
Figure 6 shows a sample compressed IP/UDP datagram that contains a
ClientHello.
| octet 1 | octet 2 | octet 3 | octet 4 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LOWPAN_IPHC | Hop Limit | Source Address|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address| Destination Address | LOWPAN_NHC_UDP|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S Port |D Port | Checksum | LOWPAN_NHC_RHS|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Epoch | Sequence Number | Message Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Sequence | LOWPAN_NHC_C | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| |
+ Client Random (32 bytes) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 6: A sample NHC compressed IP/UDP packet containing the
ClientHello message.
This document also proposes 6LoWPAN_NHC for the ServerHello message
(LOWPAN_NHC_SH). ServerHello is very similar to ClientHello except
that the length of the cipher_suites and compression_methods fields
are fixed to 16 and 8 bits, respectively. Figure 7 shows the 6LoWPAN-
NHC encoding for the ServerHello message.
0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+
| 1 | 0 | 1 | 1 | V |SI |CS |CM |
+---+---+---+---+---+---+---+---+
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 9]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
Figure 7: LOWPAN_NHC encoding for the DTLS ServerHello Message
The function of each compressed header field is described below:
o The first four bits in the 6LoWPAN_NHC_SH represent the ID field
set to 1011.
o Version (V): In order to avoid version negotiation in the initial
handshake, the DTLS 1.2 standard suggests that the server
implementation should use DTLS version 1.0. If V is set to 0, the
version is DTLS 1.0 and the version field is omitted. However the
DTLS 1.2 clients must not assume that the server does not support
higher versions or it will eventually negotiate DTLS 1.0 rather than
DTLS 1.2. If V is set to 1, the version field is carried inline.
o Session ID (SI), Cipher Suite (CS), and Compression Method (CM) are
encoded in a similar fashion as discussed above for the ClientHello
message. In order to not compromise security the random field in the
ServerHello, like in the ClientHello message, is always carried
inline.
6. Summary of DTLS header sizes with and without Compression
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| | Without | With |
+ DTLS Header +Compression [bytes]+Compression [bytes]+
| | | |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| Record | 13 | 4* or 5 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| Handshake | 12 | 3 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ClientHello | 10** | 1 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
| ServerHello | 6** | 1 |
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
* For Record plus handshake case (Section 4) the size is 4.
** Without the random field
Table 1: With the header compression defined in this document we
can clearly reduce significant communication overhead in resource-
constrained networks.
7. Implementation Considerations
We provide an open source implementation of the proposed compression
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 10]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
scheme in the Contiki operating system. The implementation is
released under BSD license and can be obtained at the following URI:
http://www.shahidraza.info/resources/CoAP-DTLS.zip. We also evaluate
the compressed DTLS and the details are published in Lithe
[Lithe13].
8. Security Considerations
The compression scheme proposed in this document does not compromise
any of the security provided by the DTLS Record header and the
Handshake header. In particular, the SN field is compressed in an on-
demand fashion, as described in Section 3. In order to overcome
replay attacks, it is recommended that the communication end-points
re-establish a connection using handshake before the sequence number
overflows. However, in constrained environments, different
implementations can decide the overflow size; 2^16, 2^24, 2^32, or
2^48. This leads to a trade-off between the overhead incurred by
establishing a new secure connection (i.e. a re-handshake) and by
sending more bits of sequence number. The random number field,
Initialization Vector (IV), and Message Authentication Code (MAC) are
also not compressed to take full advantage of DTLS security.
9. IANA Considerations
[RFC6282] creates a new IANA registry for the LOWPAN_NHC header type.
This document requests the assignment of following contents:
11011XXX: The 6LOWPAN_NHC encoding for the UDP header where the UDP
is compressed with LOWPAN_NHC.
1000XXXX: The 6LOWPAN_NHC encoding for the Record plus Handshake
headers (LOWPAN_NHC_RH).
1001XXXX: The 6LOWPAN_NHC encoding for the Record header
(LOWPAN_NHC_R).
1010XXXX: The 6LOWPAN_NHC encoding for the DTLS ClientHello message
(LOWPAN_NHC_CH)
1011XXXX: The 6LOWPAN_NHC encoding for the DTLS ServerHello message
(LOWPAN_NHC_SH)
The Capital letter X in bit positions represent class-specific bit
assignments as defined in Section 3, 4, and 5.
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 11]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
10. Acknowledgements
The work is funded by CALIPSO, Connect All IP-based Smart Objects,
funded by the European Commission under FP7 with contract number FP7-
ICT-2011.1.3-288879.
11. References
11.1. Normative References
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC6282] Hui, J., Ed., and P. Thubert, "Compression Format for IPv6
Datagrams over IEEE 802.15.4-Based Networks", RFC 6282,
September 2011.
[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer
Security Version 1.2", RFC 6347, January 2012.
[RFC4303] J. Hui, P. Thubert, "Compression Format for IPv6 Datagrams
over IEEE 802.15.4-Based Networks", RFC 6282, September
2011
11.2. Informative References
[WiSec13] R. Hummen, J. Hiller, H. Wirtz, M. Henze, H. Shafagh, and
K. Wehrle, "6LoWPAN fragmentation attacks and mitigation
mechanisms," in Proceedings of the 6th ACM Conference on
Security and Privacy in Wireless and Mobile Networks, Apr.
2013, Budapest, Hungry.
[Lithe13] S. Raza, H. Shafagh, K. Hewage, R. Hummen, Thiemo Voigt,
"Lithe: Lightweight Secure CoAP for the Internet of
Things". IEEE Sensors Journal, 13(10), 3711-3720, October
2013.
Authors' Addresses
Shahid Raza
SICS Swedish ICT AB (SICS)
Isafjordsgatan 22, 16440 Kista
SWEDEN
Phone: +46-(0)768831797
EMail: shahid@sics.se
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 12]
INTERNET DRAFT Compressed-DTLS-for-6LoWPAN March 10, 2014
Hossein Shafagh
ETH Zurich
Universitatstrasse 6, CH-8092 Zurich
SWITZERLAND
Phone: +41 44 63 26136
EMail: shafagh@ethz.ch
Olivier Dupont
Cisco
Cisco Systems, Paris
FRANCE
Phone: +33 158 043 480
Email: odupont@cisco.com
Raza, Shafagh & Dupont Expires September 11, 2014 [Page 13]