Internet DRAFT - draft-keoh-dtls-profile-iot
draft-keoh-dtls-profile-iot
Internet Draft S. Keoh
Intended Status: Informational S. Kumar
Expires: December 14, 2013 Philips Research
Z. Shelby
Sensinode
June 12, 2013
Profiling of DTLS for CoAP-based IoT Applications
draft-keoh-dtls-profile-iot-00
Abstract
This document collects various implementation challenges of DTLS on
embedded systems, and proposes a profile of DTLS for CoAP-based
Internet of Things (IoT) applications. Specifically, this document
investigates the application features and functionality of DTLS
protocol, the fragmentation issue of DTLS Handshake protocol, and the
complexity of the DTLS Handshake state machine. A RESTful DTLS
Handshake which relies on CoAP Block-wise Transfer is proposed to
address the fragmentation issue. The next step is to define a DTLS
profile for embedded systems.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Keoh et al. Expires December 14, 2013 [Page 1]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
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 Implementation Issues of DTLS on Embedded Systems . . . . . . . 3
2.1 Some Considerations of DTLS Protocol . . . . . . . . . . . . 3
2.2 Complexity of the Handshake Protocol State Machine . . . . . 5
2.3 Code size . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Handshake Message Fragmentation . . . . . . . . . . . . . . 6
3 Possible Mitigation Strategy . . . . . . . . . . . . . . . . . 7
3.1 Profiling of DTLS . . . . . . . . . . . . . . . . . . . . . 7
3.1.1 Cipher suites . . . . . . . . . . . . . . . . . . . . . 7
3.1.2 DTLS Extensions . . . . . . . . . . . . . . . . . . . . 8
3.1.3 Fine-tuning DTLS functionality . . . . . . . . . . . . . 8
3.2 Using CoAP Block-wise Transfers . . . . . . . . . . . . . . 8
4 Next Steps . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3 Security Considerations . . . . . . . . . . . . . . . . . . . . 13
4 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 13
5 References . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.1 Normative References . . . . . . . . . . . . . . . . . . . 13
5.2 Informative References . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15
Keoh et al. Expires December 14, 2013 [Page 2]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
1 Introduction
With the completion of the Constrained Application Protocol (CoAP)
[I-D.ietf-core-coap] specification, it is expected that there will be
million of devices deployed in various application domains in the
future. These applications range from smart energy, smart grid,
building control, intelligent lighting control, industrial control
systems, asset tracking, to environmental monitoring. CoAP would
become the de-facto standard protocol to enable interaction between
devices and to support Internet-of-Thing (IoT) applications. Security
is important to protect the communication between devices, and
Datagram Transport Layer Security (DTLS) [RFC6347] has been chosen as
the mandatory to implement protocol for this purpose.
Over the past few years, there have been many efforts to implement
DTLS on embedded systems [TINYDTLS, CONTIKI-DTLS] in order to support
Internet of Things (IoT) applications. In fact, the Transport Layer
Security (TLS) [RFC6347] and its datagram variant were both invented
for use in the Internet-based web applications, and implementers face
many challenges to deploy (D)TLS on IoT devices that are limited in
memory resources (RAM, Flash), CPU and power. This Internet Draft
aims to document the immediate problems that hinder the deployment of
DTLS on embedded systems and proposes a DTLS profile for CoAP-based
IoT applications. In particular, a approach to use the CoAP Blockwise
Transfer [I-D.ietf-core-block] to perform DTLS Handshake is
presented.
1.1 Terminology
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 Implementation Issues of DTLS on Embedded Systems
2.1 Some Considerations of DTLS Protocol
The Datagram Transport Layer Security (DTLS) protocol currently
consists of Handshake protocol, Alert Protocol, ChangeCipherSpec
protocol and Application protocol. The Handshake protocol is
performed between a client and a server in order to authenticate each
other and subsequently establishes a common key to protect the
communication channel. This protocol is the essence of DTLS to
provide security to both communicating parties. There are various
authentication and key establishment ciphersuites that use public-key
certificates, as they involve expensive cryptographic operations,
DTLS provides a mechanism in the handshake protocol to re-establish
previously setup connection, called RESUME. The session ID can be
Keoh et al. Expires December 14, 2013 [Page 3]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
used by the client and the server to retrieve the cryptographic
parameters previously negotiated, and reuse the secure channels,
hence avoiding the expensive certificate verification operations.
Most of the implementations for embedded systems available today only
implement the basic Handshake protocol, and they do not support
session resume. Implementations such as [I-D.keoh-lwig-dtls-iot,
TINYDTLS, CONTIKI-DTLS] only support DTLS with Pre-Shared Key (PSK)
scheme, and it is not entirely clear whether raw public-key [I-
D.ietf-tls-oob-pubkey] and certificate can be supported in the
future. However, in order to support better interoperability between
devices manufactured by different manufacturers, raw public-keys and
public-key certificates should be used. However, the following
considerations need to be further studied:
a. The current DTLS Handshake protocol has the option of not
performing client authentication. If mutual authentication is
always needed for IoT applications, then the option of "server
authentication only" may not need to be supported. This is
especially useful for Raw Public-key and/or Certificates mode of
operations.
b. The RESUME protocol is useful for IoT applications. On one hand,
it simplifies the Handshake protocol if devices need to re-use
the previous security parameters, on the other hand it increases
the complexity of the DTLS Handshake state machine. It is very
likely that the DTLS sessions in IoT application are meant to be
longlive, and re-handshake or resumption of previous session
could be avoided if possible.
c. DTLS supports a wide variety of ciphersuites, the IoT community
advocates that this can be reduced to a selected few, i.e.,
ciphersuites that are based on PSK, ECC, and AES CCM [I-D.mcgrew-
tls-aes-ccm].
The Alert protocol is used to signal warnings and fatal errors while
performing the DTLS handshake as well as during the DTLS session.
Alert messages can be sent at any time during the handshake and up to
the closure of the session. The Alert protocol is optional to
implement and most of the DTLS implementations for embedded systems
do not implement this.
The ChangeCipherSpec protocol is used to signal transition in
ciphering strategies, and the ChangeCipherSpec message must be sent
by both the client and the server. This protocol is primarily used
during the Handshake protocol when the security parameters have been
agreed upon.
d. Since the DTLS session in IoT application is longlive, the
Keoh et al. Expires December 14, 2013 [Page 4]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
possibility of re-negotiating a new ciphering strategy is quite
low. Additionally, given that the number of supported
ciphersuites are limited, IoT devices typically do not change
their agreed ciphersuites so frequently.
Application protocol uses the negotiated security parameters to
protect the application data. The application data is encrypted and
its authenticity is guaranteed with a Message Authentication Code
(MAC).
e. The AEAD cipher that uses CCM mode in AES is effective in the
sense that it uses the same key for both encryption and
authentication. If the encryption is not needed, the CBC-MAC can
be used to provide message authentication, therefore eliminating
the need to implement HMAC on embedded devices. (this does not
eliminate the SHA function used in PRF, and HMAC is a simple
algorithm that is based on SHA.)
2.2 Complexity of the Handshake Protocol State Machine
As DTLS relies on UDP transport, delivery of handshake messages
cannot be guaranteed in which handshake messages might be lost during
transmission and potentially arrive out-of-order. This means that
lost messages must be re-transmitted to ensure the success of the
Handshake protocol. Although DTLS proposed to use "flight" to group
messages and hence reducing the need to re-order messages, it suffers
from message fragmentation issue, which will be discussed in Section
2.4.
A cookie mechanism is used in DTLS to thwart Denial-of-Service (DoS)
attacks. This not only increases the number of messages that need to
be exchanged between the client and server, it also increases the
complexity of the state machine. Although the cookie mechanism is
optional in DTLS handshake protocol, we believe that DoS protection
is especially important in the IoT applications. As most of the
applications expect the devices deployed in the field to play the
DTLS Server role, they will be vulnerable to DoS attacks.
There are many ways of performing authentication using DTLS. The PSK
mode of operation is pretty straightforward, but when raw public-key
and certificates are used, it is possible to either use the keying
materials in the certificate or the ephemeral keys to perform
authenticated key exchange. The certificate verification process is
also very complex in that it requires the verification of the
exchanged certificate up to the trust anchor, and checking the time
validity of the certificate. Devices which do not have a trusted
time/clock will not be able to check the expiration time of a
certificate.
Keoh et al. Expires December 14, 2013 [Page 5]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
a. Would it be sufficient to just verify the signature of the
certificate and/or certificate chain against a trust anchor, and
do not care about time validity?
b. Is there a need to support ephemeral key exchange in IoT
applications?
2.3 Code size
From various DTLS implementation experiences [I-D.keoh-lwig-dtls-iot,
I-D.aks-crypto-sensors], the codesize may require further reduction
in order to allow for other functionality to be incorporated such as
routing, 6LoWPAN networking stack, CoAP, and application-layer codes.
Most of the implementations only support the PSK mode, and this
already consumes approximately 16KB of Flash and 4KB of RAM [I-
D.keoh-lwig-dtls-iot]. If Raw Public-key and Certificate schemes are
to be implemented, the codesize of the DTLS implementation would
definitely increase dramatically. This has severe implication on
constrained devices especially the Class 1 devices [I-D.ietf-lwig-
guidance, I-D.ietf-lwig-terminology].
2.4 Handshake Message Fragmentation
A study conducted in [I-D.hartke-core-codtls] revealed that it is
highly likely that DTLS Handshake protocol suffers from fragmentation
problems when the DTLS record is too large to fit into a single
6LoWPAN payload. As the physical layer MTU of [IEEE.802-15-4] only
has 127 bytes, when adding the MAC layer, the 6LoWPAN adaptation
layer headers, and 25 Bytes of DTLS headers, there are only 60-70
bytes left for the DTLS handshake messages. The DTLS-PSK Handshake
protocol can barely fit every message using a single 6LoWPAN payload
(except the stateless cookie exchange messages). However, when Raw
Public-key and Certificate are used, it would not be possible to do
so and fragmentation support will be needed.
a. Both 6LoWPAN and DTLS offer fragmentation support. 6LoWPAN
supports fragmentation of IPv6 packets into small link-layer
frames, but it might not work well for constrained applications
and networks. DTLS offers fragmentation at the handshake layer,
however this can add a significant overhead due to packet loss
and the need for a buffer to enable message re-ordering.
b. According to [I-D.hartke-core-codtls] fragmented handshake
messages can arrive at a constrained node in any order, the
receiver must provide a message buffer that is large enough to
hold multiple fragments. When several handshake messages forming
a single flight are sent out in parallel, it is likely that the
receiver's resources are too limited to order fragments from
Keoh et al. Expires December 14, 2013 [Page 6]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
distinct handshake messages. Furthermore, since handshake
messages can be fragmented arbitrarily and with overlaps, the
receiver must, in addition to the message buffer, keep track of
the fragments received so far.
Possible retransmission require even more buffer space as replay-
protection requires encryption of every single packet that is to
be transmitted. In particular, this renders destructive in-place
encryption impossible as the source data must be preserved.
c. Some implementers suggest that the 6LoWPAN General Header
Compression (GHC) [I-D.bormann-6lowpan-ghc] can be used to reduce
the number of bytes to be transferred. If the headers can be
compressed, this reduces the number of packets that need to be
transmitted.
3 Possible Mitigation Strategy
3.1 Profiling of DTLS
DTLS can be successfully used in constrained environments if smart
choices can be made from the multiple options that exist in DTLS that
was designed for the web applications world. This compact "IoT
profile" should allow for a compact implementation (in terms of code
size and RAM) and simplified handshake between IoT devices.
3.1.1 Cipher suites
Most constrained IoT devices will not be able to support multiple
cipher implementations due to code space requirements. It can be
beneficial to choose a few cipher suite profiles that could cover the
security requirements for most IoT applications. In choosing these
cipher suite profiles, reuse of the same crypto primitives to achieve
different security functionality can reduce implementation costs.
Symmetric cipher based confidentiality and authentication
functionality can be achieved by using the AES in CCM mode of
operation. Further, the AES-CCM operation is built-in on many
802.15.4 hardware chips further reducing the need in code and also
accelerate the computation. [I-D.mcgrew-tls-aes-ccm] indicates
different ciphersuites based on AES-CCM for TLS.
For public key based handshake, ECC is very suitable for constrained
devices. However there are multiple options in terms of field types
and curves that can be chosen for a cipher suite [RFC4492].
Additionally for certificate based cipher suites, choosing the
certificate signing algorithm to be also ECC based avoids the need
for an additional crypto primitive implementations on the constrained
Keoh et al. Expires December 14, 2013 [Page 7]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
devices. Selecting a field, curve and algorithm that would ensure
security of IoT applications as a public key based IoT cipher suite
can substantially reduce the negotiation required in the handshake
phase.
3.1.2 DTLS Extensions
Further improvements to DTLS in constrained environments can be made
by choosing some of the TLS extensions [RFC6066] that are always
supported by the end-points. Some of these extensions have been
designed for constrained networks which can be used to define the
DTLS IoT profile.
The "Maximum Fragment Length Negotiation" extension enables a smaller
fragment sizes that would reduce the amount of fragmentation at the
lower layers. "Client Certificate URLs" extension reduces the need
for sending the certificates in the handshake message reducing
bandwidth requirements and fragmentation due to large certificates.
Other extensions that may be useful are the "Trusted CA Indication",
"Truncated HMAC" and "Certificate Status Request".
By choosing a mandatory set of extensions as part of the DTLS IoT
profile will make DTLS more efficient in constrained environments.
3.1.3 Fine-tuning DTLS functionality
Savings can be done also by choosing not to implement certain DTLS
functional logic that is not expected to be used in most IoT
applications. Some of these have been suggested in the previous
section like not requiring the RESUME protocol or reducing the number
of error handling logic as part of the Alert protocol. These reduced
functionality should not in any way affect the security of the DTLS
but only reduce the flexibility that was designed into DTLS as a web
protocol but may not be required in IoT applications.
Additionally, timer values for retransmission can be adjusted to
prevent unnecessary congestion due to the underlying lossy network
which can be aggravated due to large flight messages being resent at
short intervals.
Thus the DTLS IoT profile can be a combination of cipher suites, DTLS
extensions and fine-tuning functionality that makes it suitable for
constrained devices and networks.
3.2 Using CoAP Block-wise Transfers
CoAP has defined block-wise transfers to allow for the delivery of
Keoh et al. Expires December 14, 2013 [Page 8]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
large payload between CoAP client and server. Therefore, instead of
relying on 6LoWPAN fragmentation and DTLS fragmentation which do not
work well, the DTLS Handshake protocol can be done in combination
with CoAP to better manage the fragmentation issues. Using this
approach, the DTLS message flight mechanism can be used, thus
reducing the number of messages to be exchanged between the client
and server to six as illustrated in Figure 1.
Client Server
------ ------
ClientHello --------> Flight 1
<-------- HelloVerifyRequest* Flight 2
ClientHello* --------> Flight 3
ServerHello \
Certificate* \
ServerKeyExchange* Flight 4
CertificateRequest* /
<-------- ServerHelloDone /
ClientHello \
Certificate* \
ClientKeyExchange Flight 5
CertificateVerify* /
[ChangeCipherSpec] /
Finished --------> /
[ChangeCipherSpec] \ Flight 6
<-------- Finished /
Figure 1: DTLS Handshake Protocol
[I-D.hartke-core-codtls] suggested to perform a RESTful DTLS
handshake, which relies on CoAP Block-wise transfer [I-D.ietf-core-
block]. A DTLS connection can be modeled as a CoAP resource. A DTLS
resource is created when the client initiate a CoAP POST to a CoAP
well-known URL. The state of the DTLS connection can be updated using
a POST command. Figure 2 shows an example shows the use of CoAP
Block-wise transfer to perform the DTLS handshake protocol. The
client denotes the CoAP/DTLS client, and the server denotes the
CoAP/DTLS server.
Using the example notation from [I-D.ietf-core-block], a Block option
is shown in a decomposed way separating the kind of Block option (1
Keoh et al. Expires December 14, 2013 [Page 9]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
or 2) followed by a colon, and then the block number (NUM), more bit
(M), and block size exponent (2**(SZX+4) separated by slashes. E.g.,
a Block2 Option value of 33 would be shown as 2:2/0/32, or a Block1
Option value of 59 would be shown as 1:3/1/128. In this example, a
session id (/session/4ad6bc29) is used to identify the DTLS handshake
session. Flight 2, 4 and 5 show the use of CoAP Block, where Flight 2
requires two blocks of data transfer, while Flight 4 and Flight 5
require eight blocks of data transfer each.
Client Server
------ ------
CON [MID=1234] POST /.well-known/dtls
Payload:ClientHello ----->
ACK [MID=1234], 2.01 Created
<-----
CON [MID=4235], 2.01 Created, /session/4ad6bc29
<----- Payload:HelloVerifyRequest
ACK [MID=4235], 0 ----->
CON [MID=1235] POST /session/4ad6bc29, 1:0/1/64
Payload:ClientHello ----->
ACK [MID=1235], 2.04 Changed, 1:0/1/64
<-----
CON [MID=1236] POST /session/4ad6bc29, 1:1/0/64
Payload:ClientHello ----->
ACK [MID=1236], 2.04 Changed, 2:0/1/64, 1:1/0/64
<-----
CON [MID=4236] 2.04 Changed, 2:1/1/64
Payload:(ServerHello
Certificate*
ServerKeyExchange*
CertificateRequest*
<----- ServerHelloDone)
ACK [MID=4236], 0 ----->
CON [MID=4237] 2.04 Changed, 2:2/1/64
Payload:(ServerHello
Certificate*
Keoh et al. Expires December 14, 2013 [Page 10]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
ServerKeyExchange*
CertificateRequest*
<----- ServerHelloDone)
.
.
.
CON [MID=4243] 2.04 Changed, 2:7/0/64
Payload:(ServerHello
Certificate*
ServerKeyExchange*
CertificateRequest*
<----- ServerHelloDone)
ACK [MID=4243], 0 ----->
CON [MID=1237] POST /session/4ad6bc29, 1:0/0/64
Payload:(Certificate*
ClientKeyExchange
CertificateVerify*
[ChangeCipherSpec]
Finished) ----->
ACK [MID=1237], 2.04 Changed, 1:0/0/64
<-----
CON [MID=1238] POST /session/4ad6bc29, 1:1/1/64
Payload:(Certificate*
ClientKeyExchange
CertificateVerify*
[ChangeCipherSpec]
Finished) ----->
.
.
.
CON [MID=1245] POST /session/4ad6bc29, 1:7/0/64
Payload:(Certificate*
ClientKeyExchange
CertificateVerify*
[ChangeCipherSpec]
Finished) ----->
ACK [MID=1245], 2.04 Changed, 1:7/0/64
<-----
CON [MID=4244] 2.04 Changed
Payload:([ChangeCipherSpec]
Keoh et al. Expires December 14, 2013 [Page 11]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
<----- Finished)
ACK [MID=4244], 0 ----->
Figure 2: DTLS Handshake Protocol using CoAP Block-wise Transfer
In this example, CoAP CON messages are used, hence the transfer of
each block is acknowledged. Re-transmission is initiated if the ACK
is not received. As CoAP protocol has already provided the
functionality to acknowledge receipt of a message, the DTLS handshake
protocol can exploit this reliability mechanism, so that similar
level of message delivery guarantee with TLS can be achieved.
4 Next Steps
tbd
Keoh et al. Expires December 14, 2013 [Page 12]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
3 Security Considerations
tbd
4 IANA Considerations
tbd
5 References
5.1 Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security
(TLS) Protocol Version 1.2", RFC 5246, August 2008.
[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer
Security Version 1.2", RFC 6347, January 2012.
5.2 Informative References
[I-D.ietf-core-coap]
Shelby, Z., Hartke, K., Bormann, C., and B. Frank,
"Constrained Application Protocol (CoAP)",
draft-ietf-core-coap-17 (work in progress), June 2013.
[I-D.ietf-core-block]
Bormann, C. and Z. Shelby, "Blockwise transfers in CoAP",
draft-ietf-core-block-08 (work in progress),
February 2012.
[I-D.ietf-lwig-guidance]
Bormann, C., "Guidance for Light-Weight Implementations
of the Internet Protocol Suite",
draft-ietf-lwig-guidance-01 (work in progress),
July 2012.
[I-D.ietf-lwig-terminology]
Bormann, C., Ersue, M., and A. Keranen, "Terminology for
Constrained Node Networks",
draft-ietf-lwig-terminology-04 (work in progress),
April 2013.
Keoh et al. Expires December 14, 2013 [Page 13]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
[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-03 (work in progress),
April 2012.
[I-D.mcgrew-tls-aes-ccm]
McGrew, D. and D. Bailey, "AES-CCM Cipher Suites for
TLS", draft-mcgrew-tls-aes-ccm-03 (work in progress),
February 2012.
[I-D.bormann-6lowpan-ghc]
Bormann, C., "6LoWPAN Generic Compression of Headers and
Header-like Payloads", draft-bormann-6lowpan-ghc-04 (work
in progress), March 2012.
[I-D.keoh-lwig-dtls-iot]
Keoh, S., Kumar, S., and O. Garcia-Morchon, "Securing IP-
based Internet of Thigns with DTLS",
draft-keoh-lwig-dtls-iot-01 (work in progress),
February 2013.
[I-D.hartke-core-codtls]
Hartke, K., and O. Bergmann, "Datagram Transport Layer
Security in Constrained Environment",
draft-hartke-core-codtls-02 (work in progress),
July 2012.
[I-D.aks-crypto-sensors]
Sethi, M., Arkko J., Keranen A., and H. Rissanen,
"Practical Consdierations and Implementation Experiences
in Securing Smart Object Networks",
draft-aks-crypto-sensors-02 (work-in-progress),
March 2012.
[TINYDTLS] O. Bergmann, "TinyDTLS - A Basic DTLS Server Template",
Accessed March 2013.
[CONTIKI-DTLS]
K. Dominik Korte, "DTLS for Contiki",
Jacobs University of Bremen, May 2010.
[RFC5513] Farrel, A., "IANA Considerations for Three Letter
Acronyms", RFC 5513, April 1 2009.
[RFC5514] Vyncke, E., "IPv6 over Social Networks", RFC 5514, April 1
Keoh et al. Expires December 14, 2013 [Page 14]
INTERNET DRAFT Profiling of DTLS for IoT Applications June 12, 2013
2009.
[RFC4492] Blake-Wilson, S., Bolyard, N., Gupta, V., Hawk, C., and B.
Moeller, "Elliptic Curve Cryptography (ECC) Cipher Suites
for Transport Layer Security (TLS)", RFC 4492, May 2006.
[RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS)
Extensions: Extension Definitions", RFC 6066, January
2011.
Authors' Addresses
Sye Loong Keoh
Philips Research Europe
High Tech Campus 34,
5656 AE, Eindhoven,
The Netherlands
Email: sye.loong.keoh@philips.com
Sandeep S. Kumar
Philips Research Europe
High Tech Campus 34,
5656 AE, Eindhoven,
The Netherlands
Email: sandeep.kumar@philips.com
Zach Shelby
Sensinode
Kidekuja 2
Vuokatti 88600
Finland
Email: zach@sensinode.com