[Dtls-iot] draft-hartke-dice-profile-03 comments

Zach Shelby <Zach.Shelby@arm.com> Mon, 03 March 2014 10:51 UTC

Return-Path: <zach.shelby@arm.com>
X-Original-To: dtls-iot@ietfa.amsl.com
Delivered-To: dtls-iot@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 703591A0E9C for <dtls-iot@ietfa.amsl.com>; Mon, 3 Mar 2014 02:51:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.601
X-Spam-Level:
X-Spam-Status: No, score=-2.601 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id AbTLcuB_5eoo for <dtls-iot@ietfa.amsl.com>; Mon, 3 Mar 2014 02:51:20 -0800 (PST)
Received: from service88.mimecast.com (service88.mimecast.com [195.130.217.12]) by ietfa.amsl.com (Postfix) with ESMTP id 909DB1A0E2E for <dtls-iot@ietf.org>; Mon, 3 Mar 2014 02:51:19 -0800 (PST)
Received: from usa-sjc-gw1.usa.Arm.com (fw-tnat.snv.arm.com [217.140.100.22]) (Using TLS) by service88.mimecast.com; Mon, 03 Mar 2014 10:51:15 +0000
Received: from Spock.usa.Arm.com ([fe80::6066:a427:fcf0:1568]) by usa-sjc-gw1.usa.Arm.com ([::1]) with mapi; Mon, 3 Mar 2014 02:51:20 -0800
From: Zach Shelby <Zach.Shelby@arm.com>
To: "dtls-iot@ietf.org" <dtls-iot@ietf.org>
Date: Mon, 03 Mar 2014 02:51:20 -0800
Thread-Topic: draft-hartke-dice-profile-03 comments
Thread-Index: Ac82zoK60FGO+8NVTXKcP4JF+lMR4Q==
Message-ID: <7CBD7068-03A1-4587-93D4-39D58FC1715A@arm.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
MIME-Version: 1.0
X-MC-Unique: 114030310511600202
Content-Type: text/plain; charset="WINDOWS-1252"
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/dtls-iot/WMdD55nRgG943pFiXOKiuNf3ElA
Subject: [Dtls-iot] draft-hartke-dice-profile-03 comments
X-BeenThere: dtls-iot@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DTLS for IoT discussion list <dtls-iot.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dtls-iot>, <mailto:dtls-iot-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dtls-iot/>
List-Post: <mailto:dtls-iot@ietf.org>
List-Help: <mailto:dtls-iot-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dtls-iot>, <mailto:dtls-iot-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 03 Mar 2014 10:51:23 -0000

Here is my initial review on the draft-hartke-dice-profile-03. Overall, I think this is an excellent start. I can already see IoT developers cracking down cold beer and enjoying this document, it is going to save people a lot of time and misunderstanding about DTLS in this space.

General comments

- The text often refers to keying material being installed or updated via firmware update. Although that could be the case for some limited systems (or just for the purpose of bootstrapping), we are seeing key management and more generally device management for IoT device security configuration. We don't want to give implementers the impression that they should be hard-coding security configurations in firmware, as that get unmanageable quickly. We should probably talk about "software update or security management mechanisms". For example when this profile would be used for Lightweight M2M for example, such security management is provided by that standard itself over CoAP.

- The draft talks about only specifying Client functionality, but then in reality there are quite a few implementation requirements on Servers too…

Section 1

"is likely to be useful for IoT scenarios as well" - Is this maybe a little too unsure. As DTLS is required already by several standards for IoT, it is safe to assume DTLS will be widely used for IoT. This document is meant to make it a lot easier to use, implement and interoperate.

Section 2

Some possible text to help clarify Client and Server terminology here:

"Note that "Client" and "Server" in this document refer to TLS roles, where the Client initiates the TLS handshake. This does not restrict the interaction pattern of the protocols carried inside TLS as the record layer allows bi-directional communication. In the case of CoAP the "Client" can act as a CoAP Server or Client."

Section 4

If the RFC4279 PSK identity and key length requirements are not applicable to this profile, we probably need to define what are?

Section 5

Regarding the question, the must implement cipher required by CoAP for DTLS was chosen to align with device hardware (802.15.4 SoCs typically have AES-CCM hardware engines) and other standards like SE2.0 that requires that cipher. It is probably out of scope for us to start changing that in DICE. Of course that is only the must implement cipher suite, a DTLS implementation can support others.

Section 6

The EUI-64 is not a required by CoAP for use as the Authority Name, but is used as an example of a stable endpoint identifier. So I would say:

"For client certificates the identifier used in the SubjectAltName or in the CN is a stable endpoint identifier such as an EUI-64 [EUI64], as described in Section 9.1.3.3 of [I-D.ietf-core-coap]."

Section 10

Regarding PFS and the chosen cipher suite, we should again probably leave that to CoRE as implementers of course can support other cipher suites. We could e.g. require that Servers support the sheffer-tls-bcp recommended ciphers for interoperability with a Client that choses to use them?


Zach Shelby
Director of Technology
ARM Internet of Things BU
www.arm.com
mobile: +1 (408) 203-9434
Skype: zdshelby
LinkedIn: fi.linkedin.com/in/zachshelby/


-- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium.  Thank you.

ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No:  2557590
ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ, Registered in England & Wales, Company No:  2548782